]> Dogcows Code - chaz/yoink/blobdiff - src/Moof/cml/mathlib/matrix_rotation.h
version bump cml to version 1.0.2
[chaz/yoink] / src / Moof / cml / mathlib / matrix_rotation.h
index 2298c224eefad0c9271456c432b0acfb86077be2..872edffb5937d2c9e731e6cc3d7282592c0c1857 100644 (file)
@@ -281,8 +281,6 @@ matrix_rotation_euler_derivatives(
     /* 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);
@@ -952,6 +950,20 @@ void matrix_to_euler(
     }
 }
 
+/** 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)
This page took 0.019503 seconds and 4 git commands to generate.