From e62817b8252974b8a98393275874ee303840bf13 Mon Sep 17 00:00:00 2001 From: LaG1924 <12997935+LaG1924@users.noreply.github.com> Date: Fri, 12 May 2017 18:49:50 +0500 Subject: 2017-05-12 --- .../include/glm/gtx/matrix_interpolation.hpp | 61 ++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 depedencies/include/glm/gtx/matrix_interpolation.hpp (limited to 'depedencies/include/glm/gtx/matrix_interpolation.hpp') diff --git a/depedencies/include/glm/gtx/matrix_interpolation.hpp b/depedencies/include/glm/gtx/matrix_interpolation.hpp new file mode 100644 index 0000000..77a69ea --- /dev/null +++ b/depedencies/include/glm/gtx/matrix_interpolation.hpp @@ -0,0 +1,61 @@ +/// @ref gtx_matrix_interpolation +/// @file glm/gtx/matrix_interpolation.hpp +/// @author Ghenadii Ursachi (the.asteroth@gmail.com) +/// +/// @see core (dependence) +/// +/// @defgroup gtx_matrix_interpolation GLM_GTX_matrix_interpolation +/// @ingroup gtx +/// +/// @brief Allows to directly interpolate two exiciting matrices. +/// +/// need to be included to use these functionalities. + +#pragma once + +// Dependency: +#include "../glm.hpp" + +#if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) +# pragma message("GLM: GLM_GTX_matrix_interpolation extension included") +#endif + +namespace glm +{ + /// @addtogroup gtx_matrix_interpolation + /// @{ + + /// Get the axis and angle of the rotation from a matrix. + /// From GLM_GTX_matrix_interpolation extension. + template + GLM_FUNC_DECL void axisAngle( + tmat4x4 const & mat, + tvec3 & axis, + T & angle); + + /// Build a matrix from axis and angle. + /// From GLM_GTX_matrix_interpolation extension. + template + GLM_FUNC_DECL tmat4x4 axisAngleMatrix( + tvec3 const & axis, + T const angle); + + /// Extracts the rotation part of a matrix. + /// From GLM_GTX_matrix_interpolation extension. + template + GLM_FUNC_DECL tmat4x4 extractMatrixRotation( + tmat4x4 const & mat); + + /// Build a interpolation of 4 * 4 matrixes. + /// From GLM_GTX_matrix_interpolation extension. + /// Warning! works only with rotation and/or translation matrixes, scale will generate unexpected results. + template + GLM_FUNC_DECL tmat4x4 interpolate( + tmat4x4 const & m1, + tmat4x4 const & m2, + T const delta); + + /// @} +}//namespace glm + +#include "matrix_interpolation.inl" -- cgit v1.2.3