1 /// @ref gtx_orthonormalize 2 /// @file glm/gtx/orthonormalize.hpp 3 /// 4 /// @see core (dependence) 5 /// @see gtx_extented_min_max (dependence) 6 /// 7 /// @defgroup gtx_orthonormalize GLM_GTX_orthonormalize 8 /// @ingroup gtx 9 /// 10 /// @brief Orthonormalize matrices. 11 /// 12 /// <glm/gtx/orthonormalize.hpp> need to be included to use these functionalities. 13 14 #pragma once 15 16 // Dependency: 17 #include "../vec3.hpp" 18 #include "../mat3x3.hpp" 19 #include "../geometric.hpp" 20 21 #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) 22 # pragma message("GLM: GLM_GTX_orthonormalize extension included") 23 #endif 24 25 namespace glm 26 { 27 /// @addtogroup gtx_orthonormalize 28 /// @{ 29 30 /// Returns the orthonormalized matrix of m. 31 /// 32 /// @see gtx_orthonormalize 33 template <typename T, precision P> 34 GLM_FUNC_DECL tmat3x3<T, P> orthonormalize(tmat3x3<T, P> const & m); 35 36 /// Orthonormalizes x according y. 37 /// 38 /// @see gtx_orthonormalize 39 template <typename T, precision P> 40 GLM_FUNC_DECL tvec3<T, P> orthonormalize(tvec3<T, P> const & x, tvec3<T, P> const & y); 41 42 /// @} 43 }//namespace glm 44 45 #include "orthonormalize.inl" 46