clemense / quaternion-conventions

An overview of different quaternion implementations and their chosen order: x-y-z-w or w-x-y-z?
MIT License
125 stars 5 forks source link

Add distinction between API and internal memory order for Eigen #5

Closed traversaro closed 1 year ago

traversaro commented 1 year ago

As for USD (https://github.com/clemense/quaternion-conventions/pull/2), also for Eigen the order in the API and in the internal memory order is different, see https://eigen.tuxfamily.org/dox/classEigen_1_1Quaternion.html#a3eba7a582f77a8f30525614821d7056f .

I am not sure how to handle this for libraries that use Eigen Quaternions, such as DRAKE or DART, especially as the internal memory order is not really hidden, as it emerges as soon as you consider the Eigen::Quaternion as a 4d vector.