|
Boost : |
Subject: [boost] Trying out QVM with multiple library implementations
From: Andrew Hundt (athundt_at_[hidden])
Date: 2015-08-04 17:57:45
I'd really like to try out QVM because I have to switch between a half
dozen matrix, vector and quaternion types constantly and would prefer not
to write functions for each conversion and operations between them.
Examples of the formats I need to handle are:
*Eigen <http://eigen.tuxfamily.org/index.php?title=Main_Page>:*
Eigen::Affine3d
Eigen::Quaterniond
+ rotation and translation versions
*vrep
<http://www.coppeliarobotics.com/helpFiles/en/apiFunctions.htm#simBuildMatrixQ>:*
float[3] (vrep vector)
float[4] (vrep quaternion)
float[12] (vrep homogeneous transform matrix)
*cisstVector <https://github.com/jhu-cisst/cisst/tree/master/cisstVector>:*
vctDynamicVector
<https://github.com/jhu-cisst/cisst/blob/master/cisstVector/vctDynamicVector.h>
vctQuaternion
<https://github.com/jhu-cisst/cisst/blob/master/cisstVector/vctQuaternion.h>
vctDynamicMatrix
<https://github.com/jhu-cisst/cisst/blob/master/cisstVector/vctDynamicMatrix.h>
There are also fixed versions of the "Dynamic" objects.
+ rotation & translations
Is there any particular concerns I need to take regarding alignment,
ordering (row vs column major) etc?
For example, the ordering of the quaternion data components differ between
eigen and rep:
// 0123
// vrep quat is ordered xyzw,
// eigen quat is ordered wxyz
Any advice on how to go about this would be appreciated so I can try QVM
out!
Cheers!
Andrew Hundt
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk