30 #ifndef _RL_MATH_MATRIXBASEADDONS_H_
31 #define _RL_MATH_MATRIXBASEADDONS_H_
33 Matrix< Scalar, 3, 1 >
36 EIGEN_STATIC_ASSERT_MATRIX_SPECIFIC_SIZE(Derived, 3, 3)
37 Matrix< Scalar, 3, 1 > res;
38 res.x() = (derived()(2, 1) - derived()(1, 2)) / 2;
39 res.y() = (derived()(0, 2) - derived()(2, 0)) / 2;
40 res.z() = (derived()(1, 0) - derived()(0, 1)) / 2;
44 Matrix< Scalar, 3, 3 >
47 EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Derived, 3)
48 Matrix< Scalar, 3, 3 > res;
50 res(0, 1) = -derived().z();
51 res(0, 2) = derived().y();
52 res(1, 0) = derived().z();
54 res(1, 2) = -derived().x();
55 res(2, 0) = -derived().y();
56 res(2, 1) = derived().x();
61 Matrix< Scalar, 6, 1 >
64 EIGEN_STATIC_ASSERT_MATRIX_SPECIFIC_SIZE(Derived, 3, 3)
65 Matrix< Scalar, 6, 1 > res;
66 res(0) = derived()(0, 0);
67 res(1) = derived()(1, 1);
68 res(2) = derived()(2, 2);
69 res(3) = (derived()(1, 2) + derived()(2, 1)) / 2;
70 res(4) = (derived()(0, 2) + derived()(2, 0)) / 2;
71 res(5) = (derived()(0, 1) + derived()(1, 0)) / 2;
75 Matrix< Scalar, 3, 3 >
78 EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(Derived, 6)
79 Matrix< Scalar, 3, 3 > res;
80 res(0, 0) = derived()(0);
81 res(0, 1) = derived()(5);
82 res(0, 2) = derived()(4);
83 res(1, 0) = derived()(5);
84 res(1, 1) = derived()(1);
85 res(1, 2) = derived()(3);
86 res(2, 0) = derived()(4);
87 res(2, 1) = derived()(3);
88 res(2, 2) = derived()(2);
92 #endif // _RL_MATH_MATRIXBASEADDONS_H_