
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