18 #include "../detail/setup.hpp"
19 #include "../detail/precision.hpp"
21 #ifndef GLM_ENABLE_EXPERIMENTAL
22 # error "GLM: GLM_GTX_component_wise is an experimetal extension and may change in the future. Use #define GLM_ENABLE_EXPERIMENTAL before including it, if you really want to use it."
25 #if GLM_MESSAGES == GLM_MESSAGES_ENABLED && !defined(GLM_EXT_INCLUDED)
26 # pragma message("GLM: GLM_GTX_component_wise extension included")
37 template <
typename floatType,
typename T, precision P,
template <
typename, precision>
class vecType>
38 GLM_FUNC_DECL vecType<floatType, P>
compNormalize(vecType<T, P>
const & v);
43 template <
typename T,
typename floatType, precision P,
template <
typename, precision>
class vecType>
44 GLM_FUNC_DECL vecType<T, P>
compScale(vecType<floatType, P>
const & v);
48 template <
typename genType>
49 GLM_FUNC_DECL
typename genType::value_type
compAdd(genType
const & v);
53 template <
typename genType>
54 GLM_FUNC_DECL
typename genType::value_type
compMul(genType
const & v);
58 template <
typename genType>
59 GLM_FUNC_DECL
typename genType::value_type
compMin(genType
const & v);
63 template <
typename genType>
64 GLM_FUNC_DECL
typename genType::value_type
compMax(genType
const & v);
69 #include "component_wise.inl"
GLM_FUNC_DECL genType::value_type compAdd(genType const &v)
Add all vector components together.
GLM_FUNC_DECL vecType< T, P > compScale(vecType< floatType, P > const &v)
Convert a normalized float vector to an integer vector.
GLM_FUNC_DECL genType::value_type compMul(genType const &v)
Multiply all vector components together.
GLM_FUNC_DECL vecType< floatType, P > compNormalize(vecType< T, P > const &v)
Convert an integer vector to a normalized float vector.
GLM_FUNC_DECL genType::value_type compMin(genType const &v)
Find the minimum value between single vector components.
GLM_FUNC_DECL genType::value_type compMax(genType const &v)
Find the maximum value between single vector components.