/// @ref ext_quaternion_geometric /// @file glm/ext/quaternion_geometric.hpp /// /// @see core (dependence) /// /// @defgroup ext_quaternion_geometric GLM_EXT_quaternion_geometric /// @ingroup gtx /// /// Include to use the features of this extension. /// /// Defines a templated quaternion type and several quaternion operations. #pragma once // Dependency: #include "../detail/qualifier.hpp" #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) # pragma message("GLM: GLM_GTC_quaternion extension included") #endif namespace glm { /// @addtogroup ext_quaternion_geometric /// @{ /// Returns the norm of a quaternions /// /// @tparam T Floating-point scalar types. /// /// @see ext_quaternion_geometric template GLM_FUNC_DECL T length(qua const& q); /// Returns the normalized quaternion. /// /// @tparam T Floating-point scalar types. /// /// @see ext_quaternion_geometric template GLM_FUNC_DECL qua normalize(qua const& q); /// Returns dot product of q1 and q2, i.e., q1[0] * q2[0] + q1[1] * q2[1] + ... /// /// @tparam T Floating-point scalar types. /// /// @see ext_quaternion_geometric template GLM_FUNC_DECL T dot(qua const& x, qua const& y); /// Compute a cross product between a quaternion and a vector. /// /// @see ext_quaternion_geometric template GLM_FUNC_QUALIFIER qua cross(qua const& q1, qua const& q2); /// @} } //namespace glm #include "quaternion_geometric.inl"