|
|
|
@ -9,13 +9,13 @@ namespace glm |
|
|
|
|
|
|
|
|
|
# if !GLM_HAS_DEFAULTED_FUNCTIONS |
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
GLM_FUNC_QUALIFIER mat<3, 3, T, Q>::mat() |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat() |
|
|
|
|
{} |
|
|
|
|
# endif |
|
|
|
|
|
|
|
|
|
# if !GLM_HAS_DEFAULTED_FUNCTIONS |
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
GLM_FUNC_QUALIFIER mat<3, 3, T, Q>::mat(mat<3, 3, T, Q> const& m) |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat(mat<3, 3, T, Q> const& m) |
|
|
|
|
{ |
|
|
|
|
this->value[0] = m.value[0]; |
|
|
|
|
this->value[1] = m.value[1]; |
|
|
|
@ -25,7 +25,7 @@ namespace glm |
|
|
|
|
|
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
template<qualifier P> |
|
|
|
|
GLM_FUNC_QUALIFIER mat<3, 3, T, Q>::mat(mat<3, 3, T, P> const& m) |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat(mat<3, 3, T, P> const& m) |
|
|
|
|
{ |
|
|
|
|
this->value[0] = m.value[0]; |
|
|
|
|
this->value[1] = m.value[1]; |
|
|
|
@ -33,7 +33,7 @@ namespace glm |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
GLM_FUNC_QUALIFIER mat<3, 3, T, Q>::mat(T scalar) |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat(T scalar) |
|
|
|
|
{ |
|
|
|
|
this->value[0] = col_type(scalar, 0, 0); |
|
|
|
|
this->value[1] = col_type(0, scalar, 0); |
|
|
|
@ -41,7 +41,7 @@ namespace glm |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
GLM_FUNC_QUALIFIER mat<3, 3, T, Q>::mat |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat |
|
|
|
|
( |
|
|
|
|
T x0, T y0, T z0, |
|
|
|
|
T x1, T y1, T z1, |
|
|
|
@ -54,7 +54,7 @@ namespace glm |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
GLM_FUNC_QUALIFIER mat<3, 3, T, Q>::mat |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat |
|
|
|
|
( |
|
|
|
|
col_type const& v0, |
|
|
|
|
col_type const& v1, |
|
|
|
@ -73,7 +73,7 @@ namespace glm |
|
|
|
|
typename X1, typename Y1, typename Z1, |
|
|
|
|
typename X2, typename Y2, typename Z2, |
|
|
|
|
typename X3, typename Y3, typename Z3> |
|
|
|
|
GLM_FUNC_QUALIFIER mat<3, 3, T, Q>::mat |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat |
|
|
|
|
( |
|
|
|
|
X1 x1, Y1 y1, Z1 z1, |
|
|
|
|
X2 x2, Y2 y2, Z2 z2, |
|
|
|
@ -84,10 +84,10 @@ namespace glm |
|
|
|
|
this->value[1] = col_type(static_cast<T>(x2), value_type(y2), value_type(z2)); |
|
|
|
|
this->value[2] = col_type(static_cast<T>(x3), value_type(y3), value_type(z3)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
template<typename V1, typename V2, typename V3> |
|
|
|
|
GLM_FUNC_QUALIFIER mat<3, 3, T, Q>::mat |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat |
|
|
|
|
( |
|
|
|
|
vec<3, V1, Q> const& v1, |
|
|
|
|
vec<3, V2, Q> const& v2, |
|
|
|
@ -103,7 +103,7 @@ namespace glm |
|
|
|
|
|
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
template<typename U, qualifier P> |
|
|
|
|
GLM_FUNC_QUALIFIER mat<3, 3, T, Q>::mat(mat<3, 3, U, P> const& m) |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat(mat<3, 3, U, P> const& m) |
|
|
|
|
{ |
|
|
|
|
this->value[0] = col_type(m[0]); |
|
|
|
|
this->value[1] = col_type(m[1]); |
|
|
|
@ -111,7 +111,7 @@ namespace glm |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
GLM_FUNC_QUALIFIER mat<3, 3, T, Q>::mat(mat<2, 2, T, Q> const& m) |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat(mat<2, 2, T, Q> const& m) |
|
|
|
|
{ |
|
|
|
|
this->value[0] = col_type(m[0], 0); |
|
|
|
|
this->value[1] = col_type(m[1], 0); |
|
|
|
@ -119,7 +119,7 @@ namespace glm |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
GLM_FUNC_QUALIFIER mat<3, 3, T, Q>::mat(mat<4, 4, T, Q> const& m) |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat(mat<4, 4, T, Q> const& m) |
|
|
|
|
{ |
|
|
|
|
this->value[0] = col_type(m[0]); |
|
|
|
|
this->value[1] = col_type(m[1]); |
|
|
|
@ -127,7 +127,7 @@ namespace glm |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
GLM_FUNC_QUALIFIER mat<3, 3, T, Q>::mat(mat<2, 3, T, Q> const& m) |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat(mat<2, 3, T, Q> const& m) |
|
|
|
|
{ |
|
|
|
|
this->value[0] = m[0]; |
|
|
|
|
this->value[1] = m[1]; |
|
|
|
@ -135,7 +135,7 @@ namespace glm |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
GLM_FUNC_QUALIFIER mat<3, 3, T, Q>::mat(mat<3, 2, T, Q> const& m) |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat(mat<3, 2, T, Q> const& m) |
|
|
|
|
{ |
|
|
|
|
this->value[0] = col_type(m[0], 0); |
|
|
|
|
this->value[1] = col_type(m[1], 0); |
|
|
|
@ -143,7 +143,7 @@ namespace glm |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
GLM_FUNC_QUALIFIER mat<3, 3, T, Q>::mat(mat<2, 4, T, Q> const& m) |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat(mat<2, 4, T, Q> const& m) |
|
|
|
|
{ |
|
|
|
|
this->value[0] = col_type(m[0]); |
|
|
|
|
this->value[1] = col_type(m[1]); |
|
|
|
@ -151,7 +151,7 @@ namespace glm |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
GLM_FUNC_QUALIFIER mat<3, 3, T, Q>::mat(mat<4, 2, T, Q> const& m) |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat(mat<4, 2, T, Q> const& m) |
|
|
|
|
{ |
|
|
|
|
this->value[0] = col_type(m[0], 0); |
|
|
|
|
this->value[1] = col_type(m[1], 0); |
|
|
|
@ -159,7 +159,7 @@ namespace glm |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
GLM_FUNC_QUALIFIER mat<3, 3, T, Q>::mat(mat<3, 4, T, Q> const& m) |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat(mat<3, 4, T, Q> const& m) |
|
|
|
|
{ |
|
|
|
|
this->value[0] = col_type(m[0]); |
|
|
|
|
this->value[1] = col_type(m[1]); |
|
|
|
@ -167,7 +167,7 @@ namespace glm |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
GLM_FUNC_QUALIFIER mat<3, 3, T, Q>::mat(mat<4, 3, T, Q> const& m) |
|
|
|
|
GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CTOR_CXX14 mat<3, 3, T, Q>::mat(mat<4, 3, T, Q> const& m) |
|
|
|
|
{ |
|
|
|
|
this->value[0] = m[0]; |
|
|
|
|
this->value[1] = m[1]; |
|
|
|
@ -335,14 +335,14 @@ namespace glm |
|
|
|
|
GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator-(mat<3, 3, T, Q> const& m) |
|
|
|
|
{ |
|
|
|
|
return mat<3, 3, T, Q>( |
|
|
|
|
-m[0], |
|
|
|
|
-m[0], |
|
|
|
|
-m[1], |
|
|
|
|
-m[2]); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// -- Binary arithmetic operators -- |
|
|
|
|
|
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator+(mat<3, 3, T, Q> const& m, T scalar) |
|
|
|
|
{ |
|
|
|
|
return mat<3, 3, T, Q>( |
|
|
|
@ -351,7 +351,7 @@ namespace glm |
|
|
|
|
m[2] + scalar); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator+(T scalar, mat<3, 3, T, Q> const& m) |
|
|
|
|
{ |
|
|
|
|
return mat<3, 3, T, Q>( |
|
|
|
@ -360,7 +360,7 @@ namespace glm |
|
|
|
|
m[2] + scalar); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator+(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2) |
|
|
|
|
{ |
|
|
|
|
return mat<3, 3, T, Q>( |
|
|
|
@ -369,7 +369,7 @@ namespace glm |
|
|
|
|
m1[2] + m2[2]); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator-(mat<3, 3, T, Q> const& m, T scalar) |
|
|
|
|
{ |
|
|
|
|
return mat<3, 3, T, Q>( |
|
|
|
@ -378,7 +378,7 @@ namespace glm |
|
|
|
|
m[2] - scalar); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator-(T scalar, mat<3, 3, T, Q> const& m) |
|
|
|
|
{ |
|
|
|
|
return mat<3, 3, T, Q>( |
|
|
|
@ -387,7 +387,7 @@ namespace glm |
|
|
|
|
scalar - m[2]); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator-(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2) |
|
|
|
|
{ |
|
|
|
|
return mat<3, 3, T, Q>( |
|
|
|
@ -396,7 +396,7 @@ namespace glm |
|
|
|
|
m1[2] - m2[2]); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator*(mat<3, 3, T, Q> const& m, T scalar) |
|
|
|
|
{ |
|
|
|
|
return mat<3, 3, T, Q>( |
|
|
|
@ -405,7 +405,7 @@ namespace glm |
|
|
|
|
m[2] * scalar); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator*(T scalar, mat<3, 3, T, Q> const& m) |
|
|
|
|
{ |
|
|
|
|
return mat<3, 3, T, Q>( |
|
|
|
@ -414,7 +414,7 @@ namespace glm |
|
|
|
|
m[2] * scalar); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
GLM_FUNC_QUALIFIER typename mat<3, 3, T, Q>::col_type operator*(mat<3, 3, T, Q> const& m, typename mat<3, 3, T, Q>::row_type const& v) |
|
|
|
|
{ |
|
|
|
|
return typename mat<3, 3, T, Q>::col_type( |
|
|
|
@ -423,7 +423,7 @@ namespace glm |
|
|
|
|
m[0][2] * v.x + m[1][2] * v.y + m[2][2] * v.z); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
GLM_FUNC_QUALIFIER typename mat<3, 3, T, Q>::row_type operator*(typename mat<3, 3, T, Q>::col_type const& v, mat<3, 3, T, Q> const& m) |
|
|
|
|
{ |
|
|
|
|
return typename mat<3, 3, T, Q>::row_type( |
|
|
|
@ -432,7 +432,7 @@ namespace glm |
|
|
|
|
m[2][0] * v.x + m[2][1] * v.y + m[2][2] * v.z); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
template<typename T, qualifier Q> |
|
|
|
|
GLM_FUNC_QUALIFIER mat<3, 3, T, Q> operator*(mat<3, 3, T, Q> const& m1, mat<3, 3, T, Q> const& m2) |
|
|
|
|
{ |
|
|
|
|
T const SrcA00 = m1[0][0]; |
|
|
|
|