The SDK doc states that ConnexionDeviceState::axis should contain axis data in this order: Tx, Ty, Tz, Rx, Ry, Rz
The data returned by "ConnexionDeviceState::axis" appear to swap the Y and Z axes.
ConnexionDeviceState::axis[0] contains Tx data (pan left/right)
ConnexionDeviceState::axis[1] contains Tz data (zoom)
ConnexionDeviceState::axis[2] contains Ty data (pan up/down)
ConnexionDeviceState::axis[3] contains Rx data (tilt)
ConnexionDeviceState::axis[4] contains Rz data (roll)
ConnexionDeviceState::axis[5] contains Ry data (spin)
I'm getting the axis data from the messageArgument data passed in to my implementation of ConnexionMessageHandlerProc. I cast the messageArgument to ConnexionDeviceState and retrieve the axis data from the axis member. i.e static_cast<ConnexionDeviceState*>(messageArgument)->axis;
I tested this on two different machines with fresh installs of 3DxWare (version 10.4.4). Both exhibited the swapped axes.
The Windows implementation of our software is getting the expected axis data. i.e. SispwData::mData contains axis data in this order: Tx, Ty, Tz, Rx, Ry, Rz.
What could be causing the swapped axes on Mac?
Y and Z axes swapped
Moderator: Moderators
-
- Posts: 1
- Joined: Wed Oct 04, 2017 11:54 am
Re: Y and Z axes swapped
I just wanted to confirm the same issue. I'm surprised the SDK documentation doesn't mention this.
Also, is this something that may change in the future with a fix for the SDK?
Or should we assume it's always swapped on the Mac?
Also, is this something that may change in the future with a fix for the SDK?
Or should we assume it's always swapped on the Mac?
Re: Y and Z axes swapped
Hey, if you give them the same names (0-Tx, 1-Ty, 2-Tz, etc.) then it becomes a right-handed coordinate system! That's good news if it's a deliberate change away from the unconventional left-handed one that it's supposed to have.