|
|
@ -72,14 +72,19 @@ namespace detail |
|
|
|
template <typename T, precision P> |
|
|
|
template <typename T, precision P> |
|
|
|
GLM_FUNC_QUALIFIER tvec4<T, P>::tvec4 |
|
|
|
GLM_FUNC_QUALIFIER tvec4<T, P>::tvec4 |
|
|
|
( |
|
|
|
( |
|
|
|
ctor |
|
|
|
type const & v |
|
|
|
) |
|
|
|
) : |
|
|
|
|
|
|
|
x(v.x), |
|
|
|
|
|
|
|
y(v.y), |
|
|
|
|
|
|
|
z(v.z), |
|
|
|
|
|
|
|
w(v.w) |
|
|
|
{} |
|
|
|
{} |
|
|
|
|
|
|
|
|
|
|
|
template <typename T, precision P> |
|
|
|
template <typename T, precision P> |
|
|
|
|
|
|
|
template <precision Q> |
|
|
|
GLM_FUNC_QUALIFIER tvec4<T, P>::tvec4 |
|
|
|
GLM_FUNC_QUALIFIER tvec4<T, P>::tvec4 |
|
|
|
( |
|
|
|
( |
|
|
|
type const & v |
|
|
|
tvec4<T, Q> const & v |
|
|
|
) : |
|
|
|
) : |
|
|
|
x(v.x), |
|
|
|
x(v.x), |
|
|
|
y(v.y), |
|
|
|
y(v.y), |
|
|
@ -90,6 +95,13 @@ namespace detail |
|
|
|
////////////////////////////////////// |
|
|
|
////////////////////////////////////// |
|
|
|
// Explicit basic constructors |
|
|
|
// Explicit basic constructors |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <typename T, precision P> |
|
|
|
|
|
|
|
GLM_FUNC_QUALIFIER tvec4<T, P>::tvec4 |
|
|
|
|
|
|
|
( |
|
|
|
|
|
|
|
ctor |
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
{} |
|
|
|
|
|
|
|
|
|
|
|
template <typename T, precision P> |
|
|
|
template <typename T, precision P> |
|
|
|
GLM_FUNC_QUALIFIER tvec4<T, P>::tvec4 |
|
|
|
GLM_FUNC_QUALIFIER tvec4<T, P>::tvec4 |
|
|
|
( |
|
|
|
( |
|
|
@ -237,7 +249,7 @@ namespace detail |
|
|
|
{} |
|
|
|
{} |
|
|
|
|
|
|
|
|
|
|
|
////////////////////////////////////// |
|
|
|
////////////////////////////////////// |
|
|
|
// Convertion scalar constructors |
|
|
|
// Conversion scalar constructors |
|
|
|
|
|
|
|
|
|
|
|
template <typename T, precision P> |
|
|
|
template <typename T, precision P> |
|
|
|
template <typename U> |
|
|
|
template <typename U> |
|
|
@ -266,8 +278,20 @@ namespace detail |
|
|
|
w(value_type(w)) |
|
|
|
w(value_type(w)) |
|
|
|
{} |
|
|
|
{} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template <typename T, precision P> |
|
|
|
|
|
|
|
template <typename U, precision Q> |
|
|
|
|
|
|
|
GLM_FUNC_QUALIFIER tvec4<T, P>::tvec4 |
|
|
|
|
|
|
|
( |
|
|
|
|
|
|
|
tvec4<U, Q> const & v |
|
|
|
|
|
|
|
) : |
|
|
|
|
|
|
|
x(value_type(v.x)), |
|
|
|
|
|
|
|
y(value_type(v.y)), |
|
|
|
|
|
|
|
z(value_type(v.z)), |
|
|
|
|
|
|
|
w(value_type(v.w)) |
|
|
|
|
|
|
|
{} |
|
|
|
|
|
|
|
|
|
|
|
////////////////////////////////////// |
|
|
|
////////////////////////////////////// |
|
|
|
// Convertion vector constructors |
|
|
|
// Conversion vector constructors |
|
|
|
|
|
|
|
|
|
|
|
template <typename T, precision P> |
|
|
|
template <typename T, precision P> |
|
|
|
template <typename A, typename B, typename C, precision Q> |
|
|
|
template <typename A, typename B, typename C, precision Q> |
|
|
@ -350,18 +374,6 @@ namespace detail |
|
|
|
w(value_type(v2.y)) |
|
|
|
w(value_type(v2.y)) |
|
|
|
{} |
|
|
|
{} |
|
|
|
|
|
|
|
|
|
|
|
template <typename T, precision P> |
|
|
|
|
|
|
|
template <typename U, precision Q> |
|
|
|
|
|
|
|
GLM_FUNC_QUALIFIER tvec4<T, P>::tvec4 |
|
|
|
|
|
|
|
( |
|
|
|
|
|
|
|
tvec4<U, Q> const & v |
|
|
|
|
|
|
|
) : |
|
|
|
|
|
|
|
x(value_type(v.x)), |
|
|
|
|
|
|
|
y(value_type(v.y)), |
|
|
|
|
|
|
|
z(value_type(v.z)), |
|
|
|
|
|
|
|
w(value_type(v.w)) |
|
|
|
|
|
|
|
{} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
////////////////////////////////////// |
|
|
|
////////////////////////////////////// |
|
|
|
// Unary arithmetic operators |
|
|
|
// Unary arithmetic operators |
|
|
|
|
|
|
|
|
|
|
@ -379,10 +391,10 @@ namespace detail |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
template <typename T, precision P> |
|
|
|
template <typename T, precision P> |
|
|
|
template <typename U> |
|
|
|
template <typename U, precision Q> |
|
|
|
GLM_FUNC_QUALIFIER tvec4<T, P> & tvec4<T, P>::operator= |
|
|
|
GLM_FUNC_QUALIFIER tvec4<T, P> & tvec4<T, P>::operator= |
|
|
|
( |
|
|
|
( |
|
|
|
tvec4<U, P> const & v |
|
|
|
tvec4<U, Q> const & v |
|
|
|
) |
|
|
|
) |
|
|
|
{ |
|
|
|
{ |
|
|
|
this->x = T(v.x); |
|
|
|
this->x = T(v.x); |
|
|
|