43 template <
typename T, precision P = defaultp>
46 typedef tvec3<T, P> col_type;
47 typedef tvec3<T, P> row_type;
48 typedef tmat3x3<T, P> type;
49 typedef tmat3x3<T, P> transpose_type;
52 template <
typename U, precision Q>
53 friend tvec3<U, Q> operator/(tmat3x3<U, Q>
const & m, tvec3<U, Q>
const & v);
54 template <
typename U, precision Q>
55 friend tvec3<U, Q> operator/(tvec3<U, Q>
const & v, tmat3x3<U, Q>
const & m);
64 GLM_FUNC_DECL tmat3x3();
65 template <precision Q>
66 GLM_FUNC_DECL tmat3x3(tmat3x3<T, Q>
const & m);
68 GLM_FUNC_DECL
explicit tmat3x3(ctor);
69 GLM_FUNC_DECL
explicit tmat3x3(T
const & s);
70 GLM_FUNC_DECL tmat3x3(
71 T
const & x0, T
const & y0, T
const & z0,
72 T
const & x1, T
const & y1, T
const & z1,
73 T
const & x2, T
const & y2, T
const & z2);
74 GLM_FUNC_DECL tmat3x3(
83 typename X1,
typename Y1,
typename Z1,
84 typename X2,
typename Y2,
typename Z2,
85 typename X3,
typename Y3,
typename Z3>
86 GLM_FUNC_DECL tmat3x3(
87 X1
const & x1, Y1
const & y1, Z1
const & z1,
88 X2
const & x2, Y2
const & y2, Z2
const & z2,
89 X3
const & x3, Y3
const & y3, Z3
const & z3);
91 template <
typename V1,
typename V2,
typename V3>
92 GLM_FUNC_DECL tmat3x3(
93 tvec3<V1, P>
const & v1,
94 tvec3<V2, P>
const & v2,
95 tvec3<V3, P>
const & v3);
100 # ifdef GLM_FORCE_EXPLICIT_CTOR
101 template <
typename U, precision Q>
102 GLM_FUNC_DECL
explicit tmat3x3(tmat3x3<U, Q>
const & m);
104 template <
typename U, precision Q>
105 GLM_FUNC_DECL tmat3x3(tmat3x3<U, Q>
const & m);
108 GLM_FUNC_DECL
explicit tmat3x3(tmat2x2<T, P>
const & x);
109 GLM_FUNC_DECL
explicit tmat3x3(tmat4x4<T, P>
const & x);
110 GLM_FUNC_DECL
explicit tmat3x3(tmat2x3<T, P>
const & x);
111 GLM_FUNC_DECL
explicit tmat3x3(tmat3x2<T, P>
const & x);
112 GLM_FUNC_DECL
explicit tmat3x3(tmat2x4<T, P>
const & x);
113 GLM_FUNC_DECL
explicit tmat3x3(tmat4x2<T, P>
const & x);
114 GLM_FUNC_DECL
explicit tmat3x3(tmat3x4<T, P>
const & x);
115 GLM_FUNC_DECL
explicit tmat3x3(tmat4x3<T, P>
const & x);
120 # ifdef GLM_FORCE_SIZE_FUNC
121 typedef size_t size_type;
122 GLM_FUNC_DECL GLM_CONSTEXPR
size_t size()
const;
124 GLM_FUNC_DECL col_type & operator[](size_type i);
125 GLM_FUNC_DECL col_type
const & operator[](size_type i)
const;
127 typedef length_t length_type;
128 GLM_FUNC_DECL GLM_CONSTEXPR length_type
length()
const;
130 GLM_FUNC_DECL col_type & operator[](length_type i);
131 GLM_FUNC_DECL col_type
const & operator[](length_type i)
const;
132 # endif//GLM_FORCE_SIZE_FUNC
137 template <
typename U>
138 GLM_FUNC_DECL tmat3x3<T, P>& operator= (tmat3x3<U, P>
const & m);
139 template <
typename U>
140 GLM_FUNC_DECL tmat3x3<T, P>& operator+= (U s);
141 template <
typename U>
142 GLM_FUNC_DECL tmat3x3<T, P>& operator+= (tmat3x3<U, P>
const & m);
143 template <
typename U>
144 GLM_FUNC_DECL tmat3x3<T, P>& operator-= (U s);
145 template <
typename U>
146 GLM_FUNC_DECL tmat3x3<T, P>& operator-= (tmat3x3<U, P>
const & m);
147 template <
typename U>
148 GLM_FUNC_DECL tmat3x3<T, P>& operator*= (U s);
149 template <
typename U>
150 GLM_FUNC_DECL tmat3x3<T, P>& operator*= (tmat3x3<U, P>
const & m);
151 template <
typename U>
152 GLM_FUNC_DECL tmat3x3<T, P>& operator/= (U s);
153 template <
typename U>
154 GLM_FUNC_DECL tmat3x3<T, P>& operator/= (tmat3x3<U, P>
const & m);
159 GLM_FUNC_DECL tmat3x3<T, P> & operator++ ();
160 GLM_FUNC_DECL tmat3x3<T, P> & operator-- ();
161 GLM_FUNC_DECL tmat3x3<T, P> operator++(
int);
162 GLM_FUNC_DECL tmat3x3<T, P> operator--(
int);
166 template <
typename T, precision P>
167 GLM_FUNC_DECL tmat3x3<T, P> operator+ (
168 tmat3x3<T, P>
const & m,
171 template <
typename T, precision P>
172 GLM_FUNC_DECL tmat3x3<T, P> operator+ (
174 tmat3x3<T, P>
const & m);
176 template <
typename T, precision P>
177 GLM_FUNC_DECL tmat3x3<T, P> operator+ (
178 tmat3x3<T, P>
const & m1,
179 tmat3x3<T, P>
const & m2);
181 template <
typename T, precision P>
182 GLM_FUNC_DECL tmat3x3<T, P> operator- (
183 tmat3x3<T, P>
const & m,
186 template <
typename T, precision P>
187 GLM_FUNC_DECL tmat3x3<T, P> operator- (
189 tmat3x3<T, P>
const & m);
191 template <
typename T, precision P>
192 GLM_FUNC_DECL tmat3x3<T, P> operator- (
193 tmat3x3<T, P>
const & m1,
194 tmat3x3<T, P>
const & m2);
196 template <
typename T, precision P>
197 GLM_FUNC_DECL tmat3x3<T, P> operator* (
198 tmat3x3<T, P>
const & m,
201 template <
typename T, precision P>
202 GLM_FUNC_DECL tmat3x3<T, P> operator* (
204 tmat3x3<T, P>
const & m);
206 template <
typename T, precision P>
207 GLM_FUNC_DECL
typename tmat3x3<T, P>::col_type operator* (
208 tmat3x3<T, P>
const & m,
209 typename tmat3x3<T, P>::row_type
const & v);
211 template <
typename T, precision P>
212 GLM_FUNC_DECL
typename tmat3x3<T, P>::row_type operator* (
213 typename tmat3x3<T, P>::col_type
const & v,
214 tmat3x3<T, P>
const & m);
216 template <
typename T, precision P>
217 GLM_FUNC_DECL tmat3x3<T, P> operator* (
218 tmat3x3<T, P>
const & m1,
219 tmat3x3<T, P>
const & m2);
221 template <
typename T, precision P>
222 GLM_FUNC_DECL tmat2x3<T, P> operator* (
223 tmat3x3<T, P>
const & m1,
224 tmat2x3<T, P>
const & m2);
226 template <
typename T, precision P>
227 GLM_FUNC_DECL tmat4x3<T, P> operator* (
228 tmat3x3<T, P>
const & m1,
229 tmat4x3<T, P>
const & m2);
231 template <
typename T, precision P>
232 GLM_FUNC_DECL tmat3x3<T, P> operator/ (
233 tmat3x3<T, P>
const & m,
236 template <
typename T, precision P>
237 GLM_FUNC_DECL tmat3x3<T, P> operator/ (
239 tmat3x3<T, P>
const & m);
241 template <
typename T, precision P>
242 GLM_FUNC_DECL
typename tmat3x3<T, P>::col_type operator/ (
243 tmat3x3<T, P>
const & m,
244 typename tmat3x3<T, P>::row_type
const & v);
246 template <
typename T, precision P>
247 GLM_FUNC_DECL
typename tmat3x3<T, P>::row_type operator/ (
248 typename tmat3x3<T, P>::col_type
const & v,
249 tmat3x3<T, P>
const & m);
251 template <
typename T, precision P>
252 GLM_FUNC_DECL tmat3x3<T, P> operator/ (
253 tmat3x3<T, P>
const & m1,
254 tmat3x3<T, P>
const & m2);
257 template <
typename T, precision P>
258 GLM_FUNC_DECL tmat3x3<T, P>
const operator-(
259 tmat3x3<T, P>
const & m);
262 #ifndef GLM_EXTERNAL_TEMPLATE
263 #include "type_mat3x3.inl"
OpenGL Mathematics (glm.g-truc.net)
GLM_FUNC_DECL T length(vecType< T, P > const &x)
Returns the length of x, i.e., sqrt(x * x).
OpenGL Mathematics (glm.g-truc.net)