/* Checking */
detail::CheckMatLinear3D(m);
- identity_transform(m);
-
size_t i, j, k;
bool odd, repeat;
detail::unpack_euler_order(order, i, j, k, odd, repeat);
}
}
+/** Convenience function to return a 3D vector containing the Euler angles
+ * in the requested order.
+ */
+template < class MatT, typename Real > vector< Real, fixed<3> >
+matrix_to_euler(
+ const MatT& m,
+ EulerOrder order,
+ Real tolerance = epsilon<Real>::placeholder())
+{
+ Real e0, e1, e2;
+ matrix_to_euler(m, e0, e1, e2, order, tolerance);
+ return vector< Real, fixed<3> >(e0, e1, e2);
+}
+
/** Convert a 2D rotation matrix to a rotation angle */
template < class MatT > typename MatT::value_type
matrix_to_rotation_2D(const MatT& m)