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.