PDA

View Full Version : apply transformations on vizconnect link


dcnieho
06-13-2016, 07:51 AM
Dear All,

As part of our experiment setup, we use a few link operations to, e.g., rotate the virtual world with respect to the physical world. This worked fine before when i imported my own trackers and manually linked them to the MainView. With vizconnect, I can't get this to work, I am probably abusing something or missing a priority setting.

This is the example code

headTrack = vizconnect.getTracker('head_tracker')
headLink = headTrack.getLink()
posRotationOperator = headLink.postEuler([0,0,0], target=viz.LINK_POS_OP)
posRotationOperator.setEuler([10,0,0])

# if i now try to see if the view differs from the raw tracker output, i see it doesn't:
print tuple(headTrack.getPosition(viz.ABS_GLOBAL)) + tuple(headTrack.getPosition(viz.ABS_GLOBAL)))
print tuple(headLink.getPosition(viz.ABS_GLOBAL)) + tuple(headLink.getEuler(viz.ABS_GLOBAL)))
print tuple(viz.MainView.getPosition(viz.ABS_GLOBAL)) + tuple(viz.MainView.getEuler(viz.ABS_GLOBAL)))


All three lines above print exactly the same position and orientation, irrespective of what operations i have active on the link. Could you tell me how i can make this work again (the exact same code, but with my manually created link between the tracker and the mainview works fine). this is an up to date Vizard 5.

Thanks!

Jeff
06-14-2016, 04:29 AM
The following line of code is a handle to the vizconnect wrapped tracker. This object wraps up the raw tracker object along with node3D and link objects. It also wraps up meta data associated with the tracker such as make, model, and DOF. The wrapped tracker data shows results after the link operations.

headTrack = vizconnect.getTracker('head_tracker')

You are getting the link correctly using the vizconnect API:

headLink = headTrack.getLink()
headLink.postEuler([10,0,0], target=viz.LINK_POS_OP)

Use the following code to get a handle to the raw tracker:

rawTracker = headTrack.getRaw()

Does this help?

dcnieho
06-14-2016, 06:11 AM
Hi Jeff,

Yes, that was exactly the thing. thanks!