View Full Version : <viewpoint>.link
david
12-12-2003, 01:21 AM
Hi,
I tried using the link function for a viewpoint doing what is in the help (something like: myview.link(mysensor))
but I get a error message stating that link() requires 3 arguments (2 given). What is the 3rd argument?
David
farshizzo
12-12-2003, 10:34 AM
Hi David,
Just pass in 0 as the second argument. In the current version you don't need to do this, you might have an older version.
david
12-12-2003, 12:55 PM
Thanks for your answer Farshizzo but I still don't understand.
I ran the following lines:
headTrack = viz.addsensor('is600')
#is600 is a custom plug-in that can track two sensors
headView = viz.add(viz.VIEWPOINT)
headView.link(headTrack,0)
And I got the error
Traceback (most recent call last):
File "<string>", line 2, in ?
File "test_attach_other_viewpoint.py", line 13, in ?
headView.link(headTrack,0)
File "C:\Program Files\Vizard20\viz.py", line 1354, in link
_ipcSend(_VIZ_LINKVIEW,self.id,sensor,id,'',mask,0 ,0,0)
TypeError: function takes exactly 8 arguments (9 given)
Then I tried putting the mask argument (0) first and tried the following script. But apparently the HEAD_LOOK vector is not updating, and I only get the vectors [0,0,1,0] over and over again.
import viz
viz.go()
headTrack = viz.addsensor('is600')
headTrack.command(11)
# Uses only 3 dof to prevent drifting of the scene
# To switch back to 6 dof use command(1)
handTrack = viz.addsensor('is600')
handTrack.command(11)
headView = viz.add(viz.VIEWPOINT)
headView.link(0,headTrack)
handView = viz.add(viz.VIEWPOINT)
handView.link(0,handTrack)
def test(t):
vect = headView.get(viz.HEAD_LOOK)
print 'headLook',vect
vect = handView.get(viz.HEAD_LOOK)
print 'handLook',vect
viz.starttimer(0,3)
viz.starttimer(0)
viz.callback(viz.TIMER_EVENT,'test')
david
12-12-2003, 12:59 PM
I checked my version of vizard and it seems to be the most up to date... 2.12
farshizzo
12-12-2003, 01:04 PM
Hi David,
Thanks for including the error message, there is a typo in viz.py. The following line:
_ipcSend(_VIZ_LINKVIEW,self.id,sensor,id,'',mask,0 ,0,0)
should be changed to:
_ipcSend(_VIZ_LINKVIEW,self.id,sensor.id,'',mask,0 ,0,0)
viz.py is in the main vizard directory. After you change this line, save the file and restart vizard. Your problem should be fixed then. Sorry for all the trouble.
david
12-12-2003, 03:14 PM
It seems to be working. Thanks!
I still have to test with the sensors connected, but it should work. At least I do not get a compilation error
David
vBulletin® v3.8.7, Copyright ©2000-2024, vBulletin Solutions, Inc.