| 1.0.0 API documentation

vector_common.hpp
Go to the documentation of this file.
1
14 #pragma once
15
16 // Dependency:
17 #include "../ext/scalar_common.hpp"
18 #include "../common.hpp"
19
20 #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
21 # pragma message("GLM: GLM_EXT_vector_common extension included")
22 #endif
23
24 namespace glm
25 {
28
34 template<length_t L, typename T, qualifier Q>
35 GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> min(vec<L, T, Q> const& a, vec<L, T, Q> const& b, vec<L, T, Q> const& c);
36
42 template<length_t L, typename T, qualifier Q>
43 GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> min(vec<L, T, Q> const& a, vec<L, T, Q> const& b, vec<L, T, Q> const& c, vec<L, T, Q> const& d);
44
50 template<length_t L, typename T, qualifier Q>
51 GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> max(vec<L, T, Q> const& x, vec<L, T, Q> const& y, vec<L, T, Q> const& z);
52
58 template<length_t L, typename T, qualifier Q>
59 GLM_FUNC_DECL GLM_CONSTEXPR vec<L, T, Q> max( vec<L, T, Q> const& x, vec<L, T, Q> const& y, vec<L, T, Q> const& z, vec<L, T, Q> const& w);
60
68 template<length_t L, typename T, qualifier Q>
69 GLM_FUNC_DECL vec<L, T, Q> fmin(vec<L, T, Q> const& x, T y);
70
78 template<length_t L, typename T, qualifier Q>
79 GLM_FUNC_DECL vec<L, T, Q> fmin(vec<L, T, Q> const& x, vec<L, T, Q> const& y);
80
88 template<length_t L, typename T, qualifier Q>
89 GLM_FUNC_DECL vec<L, T, Q> fmin(vec<L, T, Q> const& a, vec<L, T, Q> const& b, vec<L, T, Q> const& c);
90
98 template<length_t L, typename T, qualifier Q>
99 GLM_FUNC_DECL vec<L, T, Q> fmin(vec<L, T, Q> const& a, vec<L, T, Q> const& b, vec<L, T, Q> const& c, vec<L, T, Q> const& d);
100
108 template<length_t L, typename T, qualifier Q>
109 GLM_FUNC_DECL vec<L, T, Q> fmax(vec<L, T, Q> const& a, T b);
110
118 template<length_t L, typename T, qualifier Q>
119 GLM_FUNC_DECL vec<L, T, Q> fmax(vec<L, T, Q> const& a, vec<L, T, Q> const& b);
120
128 template<length_t L, typename T, qualifier Q>
129 GLM_FUNC_DECL vec<L, T, Q> fmax(vec<L, T, Q> const& a, vec<L, T, Q> const& b, vec<L, T, Q> const& c);
130
138 template<length_t L, typename T, qualifier Q>
139 GLM_FUNC_DECL vec<L, T, Q> fmax(vec<L, T, Q> const& a, vec<L, T, Q> const& b, vec<L, T, Q> const& c, vec<L, T, Q> const& d);
140
148 template<length_t L, typename T, qualifier Q>
149 GLM_FUNC_DECL vec<L, T, Q> fclamp(vec<L, T, Q> const& x, T minVal, T maxVal);
150
158 template<length_t L, typename T, qualifier Q>
159 GLM_FUNC_DECL vec<L, T, Q> fclamp(vec<L, T, Q> const& x, vec<L, T, Q> const& minVal, vec<L, T, Q> const& maxVal);
160
168 template<length_t L, typename T, qualifier Q>
169 GLM_FUNC_DECL vec<L, T, Q> clamp(vec<L, T, Q> const& Texcoord);
170
178 template<length_t L, typename T, qualifier Q>
179 GLM_FUNC_DECL vec<L, T, Q> repeat(vec<L, T, Q> const& Texcoord);
180
188 template<length_t L, typename T, qualifier Q>
189 GLM_FUNC_DECL vec<L, T, Q> mirrorClamp(vec<L, T, Q> const& Texcoord);
190
198 template<length_t L, typename T, qualifier Q>
199 GLM_FUNC_DECL vec<L, T, Q> mirrorRepeat(vec<L, T, Q> const& Texcoord);
200
210 template<length_t L, typename T, qualifier Q>
211 GLM_FUNC_DECL vec<L, int, Q> iround(vec<L, T, Q> const& x);
212
222 template<length_t L, typename T, qualifier Q>
223 GLM_FUNC_DECL vec<L, uint, Q> uround(vec<L, T, Q> const& x);
224
226 }//namespace glm
227
228 #include "vector_common.inl"
glm::fclamp
GLM_FUNC_DECL vec< L, T, Q > fclamp(vec< L, T, Q > const &x, vec< L, T, Q > const &minVal, vec< L, T, Q > const &maxVal)
Returns min(max(x, minVal), maxVal) for each component in x.
glm::mirrorClamp
GLM_FUNC_DECL vec< L, T, Q > mirrorClamp(vec< L, T, Q > const &Texcoord)
Simulate GL_MIRRORED_REPEAT OpenGL wrap mode.
glm::uround
GLM_FUNC_DECL vec< L, uint, Q > uround(vec< L, T, Q > const &x)
Returns a value equal to the nearest integer to x.
glm::clamp
GLM_FUNC_DECL vec< L, T, Q > clamp(vec< L, T, Q > const &Texcoord)
Simulate GL_CLAMP OpenGL wrap mode.
glm::fmin
GLM_FUNC_DECL vec< L, T, Q > fmin(vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)
Returns y if y < x; otherwise, it returns x.
glm::repeat
GLM_FUNC_DECL vec< L, T, Q > repeat(vec< L, T, Q > const &Texcoord)
Simulate GL_REPEAT OpenGL wrap mode.
glm::min
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > min(vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)
Return the minimum component-wise values of 4 inputs.
glm::max
GLM_FUNC_DECL GLM_CONSTEXPR vec< L, T, Q > max(vec< L, T, Q > const &x, vec< L, T, Q > const &y, vec< L, T, Q > const &z, vec< L, T, Q > const &w)
Return the maximum component-wise values of 4 inputs.
glm::iround
GLM_FUNC_DECL vec< L, int, Q > iround(vec< L, T, Q > const &x)
Returns a value equal to the nearest integer to x.
glm::mirrorRepeat
GLM_FUNC_DECL vec< L, T, Q > mirrorRepeat(vec< L, T, Q > const &Texcoord)
Simulate GL_MIRROR_REPEAT OpenGL wrap mode.
glm::fmax
GLM_FUNC_DECL vec< L, T, Q > fmax(vec< L, T, Q > const &a, vec< L, T, Q > const &b, vec< L, T, Q > const &c, vec< L, T, Q > const &d)
Returns y if x < y; otherwise, it returns x.