1 /// @ref gtx_handed_coordinate_space 2 /// @file glm/gtx/handed_coordinate_space.hpp 3 /// 4 /// @see core (dependence) 5 /// 6 /// @defgroup gtx_handed_coordinate_space GLM_GTX_handed_coordinate_space 7 /// @ingroup gtx 8 /// 9 /// @brief To know if a set of three basis vectors defines a right or left-handed coordinate system. 10 /// 11 /// <glm/gtx/handed_coordinate_system.hpp> need to be included to use these functionalities. 12 13 #pragma once 14 15 // Dependency: 16 #include "../glm.hpp" 17 18 #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED) 19 # pragma message("GLM: GLM_GTX_handed_coordinate_space extension included") 20 #endif 21 22 namespace glm 23 { 24 /// @addtogroup gtx_handed_coordinate_space 25 /// @{ 26 27 //! Return if a trihedron right handed or not. 28 //! From GLM_GTX_handed_coordinate_space extension. 29 template <typename T, precision P> 30 GLM_FUNC_DECL bool rightHanded( 31 tvec3<T, P> const & tangent, 32 tvec3<T, P> const & binormal, 33 tvec3<T, P> const & normal); 34 35 //! Return if a trihedron left handed or not. 36 //! From GLM_GTX_handed_coordinate_space extension. 37 template <typename T, precision P> 38 GLM_FUNC_DECL bool leftHanded( 39 tvec3<T, P> const & tangent, 40 tvec3<T, P> const & binormal, 41 tvec3<T, P> const & normal); 42 43 /// @} 44 }// namespace glm 45 46 #include "handed_coordinate_space.inl" 47