Is your feature request related to a problem? Please describe.
Common way of representing transforms is to have a rotation matrix and a 3D translation. Right now the direct way to log these is via TranslationAndMat3. However it would be more natural to use Rigid3D. However that only supports Quaternion and RotationAxisAngle for the rotation argument.
Describe the solution you'd like
Add a class RotationMatrix and support it in both Rigid3D and TranslationRotationScale3D. Related to that it might be worth renaming Quaternion to RotationQuaternion to have consistent naming for the rotation representations, i.e., RotationMatrix, RotationQuaternion, RotationAxisAngle.
Might be nice to have a check on construction that the matrix is actually orthogonal and its determinant is 1.
Is your feature request related to a problem? Please describe.
Common way of representing transforms is to have a rotation matrix and a 3D translation. Right now the direct way to log these is via
TranslationAndMat3. However it would be more natural to useRigid3D. However that only supportsQuaternionandRotationAxisAnglefor the rotation argument.Describe the solution you'd like
Add a class
RotationMatrixand support it in bothRigid3DandTranslationRotationScale3D. Related to that it might be worth renamingQuaterniontoRotationQuaternionto have consistent naming for the rotation representations, i.e.,RotationMatrix,RotationQuaternion,RotationAxisAngle.Might be nice to have a check on construction that the matrix is actually orthogonal and its determinant is 1.