On a project we're currently working on, we have 2 zSpace devices: a zSpace 200 and a zSpace 300.
What we basically want to do is to get the head position in tracker space.
To do so, the API function zcGetFrustumHeadPose(mFrustumHandle, &mHeadPose) has first been used and since it didn't work as expected, the API function zcGetTargetPose(mHeadHandle, &mHeadPose) has then been used. Actually, both functions gave us the same results.
The problem is:
Those functions work well on the zSpace 200, the origin of the head position is always at the center of the display. But, on the zSpace 300, the origin of the head position depends on the display's tilt angle. When the display is in a vertical position, it works (i.e. the origin of the head position is at the center of the display). And when the display is tilted, the origin of the head position is always lower than the actual center of the display.
What's wrong here ? Did we miss something ? Why those API functions behave differently on both devices (the same source code is running on both devices) ?