5 template<
typename T, qualifier Q>
22 Rotate[0][0] = c + temp[0] *
axis[0];
23 Rotate[0][1] = 0 + temp[0] *
axis[1] + s *
axis[2];
24 Rotate[0][2] = 0 + temp[0] *
axis[2] - s *
axis[1];
26 Rotate[1][0] = 0 + temp[1] *
axis[0] - s *
axis[2];
27 Rotate[1][1] = c + temp[1] *
axis[1];
28 Rotate[1][2] = 0 + temp[1] *
axis[2] + s *
axis[0];
30 Rotate[2][0] = 0 + temp[2] *
axis[0] + s *
axis[1];
31 Rotate[2][1] = 0 + temp[2] *
axis[1] - s *
axis[0];
32 Rotate[2][2] = c + temp[2] *
axis[2];
35 Result[0] = m[0] * Rotate[0][0] + m[1] * Rotate[0][1] + m[2] * Rotate[0][2];
36 Result[1] = m[0] * Rotate[1][0] + m[1] * Rotate[1][1] + m[2] * Rotate[1][2];
37 Result[2] = m[0] * Rotate[2][0] + m[1] * Rotate[2][1] + m[2] * Rotate[2][2];
42 template<
typename T, qualifier Q>
52 T
const AngleRad(
angle);
53 T
const Sin =
sin(AngleRad * T(0.5));
55 return q *
qua<T, Q>(
cos(AngleRad *
static_cast<T
>(0.5)), Tmp.x * Sin, Tmp.y * Sin, Tmp.z * Sin);
GLM_FUNC_QUALIFIER vec< L, T, Q > sin(vec< L, T, Q > const &v)
Definition func_trigonometric.inl:41
GLM_FUNC_QUALIFIER vec< L, T, Q > cos(vec< L, T, Q > const &v)
Definition func_trigonometric.inl:50
GLM_FUNC_DECL T angle(qua< T, Q > const &x)
Definition quaternion_trigonometric.inl:6
GLM_FUNC_DECL vec< 3, T, Q > axis(qua< T, Q > const &x)
Definition quaternion_trigonometric.inl:17
GLM_FUNC_DECL mat< 4, 4, T, Q > rotateNormalizedAxis(mat< 4, 4, T, Q > const &m, T const &angle, vec< 3, T, Q > const &axis)
Definition rotate_normalized_axis.inl:7
Core features
Definition common.hpp:21
Definition qualifier.hpp:36
Definition type_quat.hpp:20
Definition qualifier.hpp:35