|
|
|
@ -107,8 +107,46 @@ namespace detail |
|
|
|
|
this->value[1] = v1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
////////////////////////////////////// |
|
|
|
|
// Convertion constructors |
|
|
|
|
template <typename T> |
|
|
|
|
template <typename U> |
|
|
|
|
GLM_FUNC_DECL tmat2x2<T>::tmat2x2 |
|
|
|
|
( |
|
|
|
|
U const & s |
|
|
|
|
) |
|
|
|
|
{ |
|
|
|
|
value_type const Zero(0); |
|
|
|
|
this->value[0] = tvec2<T>(value_type(s), Zero); |
|
|
|
|
this->value[1] = tvec2<T>(Zero, value_type(s)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template <typename T> |
|
|
|
|
template <typename U, typename V, typename M, typename N> |
|
|
|
|
GLM_FUNC_DECL tmat2x2<T>::tmat2x2 |
|
|
|
|
( |
|
|
|
|
U const & x1, V const & y1, |
|
|
|
|
M const & x2, N const & y2 |
|
|
|
|
) |
|
|
|
|
{ |
|
|
|
|
this->value[0] = col_type(value_type(x1), value_type(y1)); |
|
|
|
|
this->value[1] = col_type(value_type(x2), value_type(y2)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//template <typename T> |
|
|
|
|
//template <typename U, typename V, typename M, typename N> |
|
|
|
|
//GLM_FUNC_DECL tmat2x2<T>::tmat2x2 |
|
|
|
|
//( |
|
|
|
|
// tvec2<U, V> const & v1, |
|
|
|
|
// tvec2<M, N> const & v2 |
|
|
|
|
//) |
|
|
|
|
//{ |
|
|
|
|
// this->value[0] = col_type(v1); |
|
|
|
|
// this->value[1] = col_type(v2); |
|
|
|
|
//} |
|
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////// |
|
|
|
|
// mat2 conversions |
|
|
|
|
// mat2x2 conversions |
|
|
|
|
|
|
|
|
|
template <typename T> |
|
|
|
|
template <typename U> |
|
|
|
@ -215,7 +253,7 @@ namespace detail |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
////////////////////////////////////////////////////////////// |
|
|
|
|
// mat3 operators |
|
|
|
|
// mat2x2 operators |
|
|
|
|
|
|
|
|
|
// This function shouldn't required but it seems that VC7.1 have an optimisation bug if this operator wasn't declared |
|
|
|
|
template <typename T> |
|
|
|
|