diff options
author | LaG1924 <12997935+LaG1924@users.noreply.github.com> | 2018-01-13 03:51:33 +0100 |
---|---|---|
committer | LaG1924 <12997935+LaG1924@users.noreply.github.com> | 2018-01-13 03:51:34 +0100 |
commit | 6f67371bb1b46579ae837d0e0c61ac1b291be743 (patch) | |
tree | 5a43692a064d84e5c5688b1b3639342555139c3c /depedencies/include/glm/gtx/rotate_normalized_axis.inl | |
parent | Backported to C++14 (diff) | |
download | AltCraft-6f67371bb1b46579ae837d0e0c61ac1b291be743.tar AltCraft-6f67371bb1b46579ae837d0e0c61ac1b291be743.tar.gz AltCraft-6f67371bb1b46579ae837d0e0c61ac1b291be743.tar.bz2 AltCraft-6f67371bb1b46579ae837d0e0c61ac1b291be743.tar.lz AltCraft-6f67371bb1b46579ae837d0e0c61ac1b291be743.tar.xz AltCraft-6f67371bb1b46579ae837d0e0c61ac1b291be743.tar.zst AltCraft-6f67371bb1b46579ae837d0e0c61ac1b291be743.zip |
Diffstat (limited to 'depedencies/include/glm/gtx/rotate_normalized_axis.inl')
-rw-r--r-- | depedencies/include/glm/gtx/rotate_normalized_axis.inl | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/depedencies/include/glm/gtx/rotate_normalized_axis.inl b/depedencies/include/glm/gtx/rotate_normalized_axis.inl deleted file mode 100644 index dc1b1a8..0000000 --- a/depedencies/include/glm/gtx/rotate_normalized_axis.inl +++ /dev/null @@ -1,59 +0,0 @@ -/// @ref gtx_rotate_normalized_axis -/// @file glm/gtx/rotate_normalized_axis.inl - -namespace glm -{ - template <typename T, precision P> - GLM_FUNC_QUALIFIER tmat4x4<T, P> rotateNormalizedAxis - ( - tmat4x4<T, P> const & m, - T const & angle, - tvec3<T, P> const & v - ) - { - T const a = angle; - T const c = cos(a); - T const s = sin(a); - - tvec3<T, P> const axis(v); - - tvec3<T, P> const temp((static_cast<T>(1) - c) * axis); - - tmat4x4<T, P> Rotate(uninitialize); - Rotate[0][0] = c + temp[0] * axis[0]; - Rotate[0][1] = 0 + temp[0] * axis[1] + s * axis[2]; - Rotate[0][2] = 0 + temp[0] * axis[2] - s * axis[1]; - - Rotate[1][0] = 0 + temp[1] * axis[0] - s * axis[2]; - Rotate[1][1] = c + temp[1] * axis[1]; - Rotate[1][2] = 0 + temp[1] * axis[2] + s * axis[0]; - - Rotate[2][0] = 0 + temp[2] * axis[0] + s * axis[1]; - Rotate[2][1] = 0 + temp[2] * axis[1] - s * axis[0]; - Rotate[2][2] = c + temp[2] * axis[2]; - - tmat4x4<T, P> Result(uninitialize); - Result[0] = m[0] * Rotate[0][0] + m[1] * Rotate[0][1] + m[2] * Rotate[0][2]; - Result[1] = m[0] * Rotate[1][0] + m[1] * Rotate[1][1] + m[2] * Rotate[1][2]; - Result[2] = m[0] * Rotate[2][0] + m[1] * Rotate[2][1] + m[2] * Rotate[2][2]; - Result[3] = m[3]; - return Result; - } - - template <typename T, precision P> - GLM_FUNC_QUALIFIER tquat<T, P> rotateNormalizedAxis - ( - tquat<T, P> const & q, - T const & angle, - tvec3<T, P> const & v - ) - { - tvec3<T, P> const Tmp(v); - - T const AngleRad(angle); - T const Sin = sin(AngleRad * T(0.5)); - - return q * tquat<T, P>(cos(AngleRad * static_cast<T>(0.5)), Tmp.x * Sin, Tmp.y * Sin, Tmp.z * Sin); - //return gtc::quaternion::cross(q, tquat<T, P>(cos(AngleRad * T(0.5)), Tmp.x * fSin, Tmp.y * fSin, Tmp.z * fSin)); - } -}//namespace glm |