12 template<
typename T, qualifier Q>
13 struct mat<3, 3, T, Q>
27 typedef length_t length_type;
28 GLM_FUNC_DECL
static GLM_CONSTEXPR length_type
length() {
return 3; }
30 GLM_FUNC_DECL col_type & operator[](length_type i);
31 GLM_FUNC_DECL GLM_CONSTEXPR col_type
const& operator[](length_type i)
const;
35 GLM_FUNC_DECL GLM_CONSTEXPR
mat() GLM_DEFAULT;
39 GLM_FUNC_DECL
explicit GLM_CONSTEXPR mat(T scalar);
40 GLM_FUNC_DECL GLM_CONSTEXPR mat(
44 GLM_FUNC_DECL GLM_CONSTEXPR mat(
52 typename X1,
typename Y1,
typename Z1,
53 typename X2,
typename Y2,
typename Z2,
54 typename X3,
typename Y3,
typename Z3>
55 GLM_FUNC_DECL GLM_CONSTEXPR mat(
60 template<
typename V1,
typename V2,
typename V3>
61 GLM_FUNC_DECL GLM_CONSTEXPR mat(
68 template<
typename U, qualifier P>
111 template<
typename T, qualifier Q>
114 template<
typename T, qualifier Q>
119 template<
typename T, qualifier Q>
122 template<
typename T, qualifier Q>
125 template<
typename T, qualifier Q>
126 GLM_FUNC_DECL
mat<3, 3, T, Q> operator+(
mat<3, 3, T, Q> const& m1,
mat<3, 3, T, Q> const& m2);
128 template<
typename T, qualifier Q>
131 template<
typename T, qualifier Q>
134 template<
typename T, qualifier Q>
135 GLM_FUNC_DECL
mat<3, 3, T, Q> operator-(
mat<3, 3, T, Q> const& m1,
mat<3, 3, T, Q> const& m2);
137 template<
typename T, qualifier Q>
140 template<
typename T, qualifier Q>
143 template<
typename T, qualifier Q>
144 GLM_FUNC_DECL
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);
146 template<
typename T, qualifier Q>
147 GLM_FUNC_DECL
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);
149 template<
typename T, qualifier Q>
150 GLM_FUNC_DECL
mat<3, 3, T, Q> operator*(
mat<3, 3, T, Q> const& m1,
mat<3, 3, T, Q> const& m2);
152 template<
typename T, qualifier Q>
153 GLM_FUNC_DECL
mat<2, 3, T, Q> operator*(
mat<3, 3, T, Q> const& m1,
mat<2, 3, T, Q> const& m2);
155 template<
typename T, qualifier Q>
156 GLM_FUNC_DECL
mat<4, 3, T, Q> operator*(
mat<3, 3, T, Q> const& m1,
mat<4, 3, T, Q> const& m2);
158 template<
typename T, qualifier Q>
161 template<
typename T, qualifier Q>
164 template<
typename T, qualifier Q>
165 GLM_FUNC_DECL
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);
167 template<
typename T, qualifier Q>
168 GLM_FUNC_DECL
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);
170 template<
typename T, qualifier Q>
171 GLM_FUNC_DECL
mat<3, 3, T, Q> operator/(
mat<3, 3, T, Q> const& m1,
mat<3, 3, T, Q> const& m2);
175 template<
typename T, qualifier Q>
178 template<
typename T, qualifier Q>
182 #ifndef GLM_EXTERNAL_TEMPLATE 183 #include "type_mat3x3.inl" Definition: type_vec3.hpp:17
Definition: qualifier.hpp:35
Core features
Definition: common.hpp:20
Definition: type_mat2x3.hpp:14
Definition: type_mat4x3.hpp:14
Definition: type_mat3x3.hpp:13
Definition: type_mat2x2.hpp:13
Definition: type_mat4x2.hpp:14
Definition: type_mat3x2.hpp:14
Definition: qualifier.hpp:36
Definition: type_mat2x4.hpp:14
Definition: type_mat4x4.hpp:13
Definition: type_mat3x4.hpp:14
Definition: core_func_geometric.cpp:14