| 1 | /// @ref gtx_exterior_product |
| 2 | /// @file glm/gtx/exterior_product.hpp |
| 3 | /// |
| 4 | /// @see core (dependence) |
| 5 | /// @see gtx_exterior_product (dependence) |
| 6 | /// |
| 7 | /// @defgroup gtx_exterior_product GLM_GTX_exterior_product |
| 8 | /// @ingroup gtx |
| 9 | /// |
| 10 | /// Include <glm/gtx/exterior_product.hpp> to use the features of this extension. |
| 11 | /// |
| 12 | /// @brief Allow to perform bit operations on integer values |
| 13 | |
| 14 | #pragma once |
| 15 | |
| 16 | // Dependencies |
| 17 | #include "../detail/setup.hpp" |
| 18 | #include "../detail/qualifier.hpp" |
| 19 | |
| 20 | #ifndef GLM_ENABLE_EXPERIMENTAL |
| 21 | # error "GLM: GLM_GTX_exterior_product is an experimental extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it." |
| 22 | #elif GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED) |
| 23 | # pragma message("GLM: GLM_GTX_exterior_product extension included") |
| 24 | #endif |
| 25 | |
| 26 | namespace glm |
| 27 | { |
| 28 | /// @addtogroup gtx_exterior_product |
| 29 | /// @{ |
| 30 | |
| 31 | /// Returns the cross product of x and y. |
| 32 | /// |
| 33 | /// @tparam T Floating-point scalar types |
| 34 | /// @tparam Q Value from qualifier enum |
| 35 | /// |
| 36 | /// @see <a href="https://en.wikipedia.org/wiki/Exterior_algebra#Cross_and_triple_products">Exterior product</a> |
| 37 | template<typename T, qualifier Q> |
| 38 | GLM_FUNC_DECL GLM_CONSTEXPR T cross(vec<2, T, Q> const& v, vec<2, T, Q> const& u); |
| 39 | |
| 40 | /// @} |
| 41 | } //namespace glm |
| 42 | |
| 43 | #include "exterior_product.inl" |