|
|
|
@ -91,8 +91,8 @@ namespace glm |
|
|
|
|
|
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_SIMD vec() GLM_DEFAULT; |
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_SIMD vec(vec<4, T, Q> const& v) GLM_DEFAULT; |
|
|
|
|
template<qualifier Q> |
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_SIMD vec(vec<4, T, Q> const& v); |
|
|
|
|
template<qualifier P> |
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_SIMD vec(vec<4, T, P> const& v); |
|
|
|
|
|
|
|
|
|
// -- Explicit basic constructors --
|
|
|
|
|
|
|
|
|
@ -110,42 +110,42 @@ namespace glm |
|
|
|
|
// -- Conversion vector constructors --
|
|
|
|
|
|
|
|
|
|
/// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
|
|
|
|
template<typename A, typename B, typename C, qualifier Q> |
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<2, A, Q> const& _xy, B _z, C _w); |
|
|
|
|
template<typename A, typename B, typename C, qualifier P> |
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<2, A, P> const& _xy, B _z, C _w); |
|
|
|
|
/// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
|
|
|
|
template<typename A, typename B, typename C, qualifier Q> |
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<2, A, Q> const& _xy, vec<1, B, Q> const& _z, vec<1, C, Q> const& _w); |
|
|
|
|
template<typename A, typename B, typename C, qualifier P> |
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<2, A, P> const& _xy, vec<1, B, P> const& _z, vec<1, C, P> const& _w); |
|
|
|
|
/// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
|
|
|
|
template<typename A, typename B, typename C, qualifier Q> |
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(A _x, vec<2, B, Q> const& _yz, C _w); |
|
|
|
|
template<typename A, typename B, typename C, qualifier P> |
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(A _x, vec<2, B, P> const& _yz, C _w); |
|
|
|
|
/// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
|
|
|
|
template<typename A, typename B, typename C, qualifier Q> |
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<1, A, Q> const& _x, vec<2, B, Q> const& _yz, vec<1, C, Q> const& _w); |
|
|
|
|
template<typename A, typename B, typename C, qualifier P> |
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<1, A, P> const& _x, vec<2, B, P> const& _yz, vec<1, C, P> const& _w); |
|
|
|
|
/// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
|
|
|
|
template<typename A, typename B, typename C, qualifier Q> |
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(A _x, B _y, vec<2, C, Q> const& _zw); |
|
|
|
|
template<typename A, typename B, typename C, qualifier P> |
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(A _x, B _y, vec<2, C, P> const& _zw); |
|
|
|
|
/// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
|
|
|
|
template<typename A, typename B, typename C, qualifier Q> |
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<1, A, Q> const& _x, vec<1, B, Q> const& _y, vec<2, C, Q> const& _zw); |
|
|
|
|
template<typename A, typename B, typename C, qualifier P> |
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<1, A, P> const& _x, vec<1, B, P> const& _y, vec<2, C, P> const& _zw); |
|
|
|
|
/// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
|
|
|
|
template<typename A, typename B, qualifier Q> |
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<3, A, Q> const& _xyz, B _w); |
|
|
|
|
template<typename A, typename B, qualifier P> |
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<3, A, P> const& _xyz, B _w); |
|
|
|
|
/// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
|
|
|
|
template<typename A, typename B, qualifier Q> |
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<3, A, Q> const& _xyz, vec<1, B, Q> const& _w); |
|
|
|
|
template<typename A, typename B, qualifier P> |
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<3, A, P> const& _xyz, vec<1, B, P> const& _w); |
|
|
|
|
/// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
|
|
|
|
template<typename A, typename B, qualifier Q> |
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(A _x, vec<3, B, Q> const& _yzw); |
|
|
|
|
template<typename A, typename B, qualifier P> |
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(A _x, vec<3, B, P> const& _yzw); |
|
|
|
|
/// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
|
|
|
|
template<typename A, typename B, qualifier Q> |
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<1, A, Q> const& _x, vec<3, B, Q> const& _yzw); |
|
|
|
|
template<typename A, typename B, qualifier P> |
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<1, A, P> const& _x, vec<3, B, P> const& _yzw); |
|
|
|
|
/// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
|
|
|
|
template<typename A, typename B, qualifier Q> |
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<2, A, Q> const& _xy, vec<2, B, Q> const& _zw); |
|
|
|
|
template<typename A, typename B, qualifier P> |
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_CTOR vec(vec<2, A, P> const& _xy, vec<2, B, P> const& _zw); |
|
|
|
|
|
|
|
|
|
/// Explicit conversions (From section 5.4.1 Conversion and scalar constructors of GLSL 1.30.08 specification)
|
|
|
|
|
template<typename U, qualifier Q> |
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_CTOR GLM_EXPLICIT vec(vec<4, U, Q> const& v); |
|
|
|
|
template<typename U, qualifier P> |
|
|
|
|
GLM_FUNC_DECL GLM_CONSTEXPR_CTOR GLM_EXPLICIT vec(vec<4, U, P> const& v); |
|
|
|
|
|
|
|
|
|
// -- Swizzle constructors --
|
|
|
|
|
# if GLM_HAS_UNRESTRICTED_UNIONS && (GLM_SWIZZLE == GLM_SWIZZLE_ENABLED) |
|
|
|
|