7 #ifndef _MATRIX4D_PATTERNGENERATOR_JRL_
8 #define _MATRIX4D_PATTERNGENERATOR_JRL_
44 for(
int i = 0; i < 16;
m[i++] = x);
48 Matrix4x4T<T>(
const struct Matrix4x4T<T> & v)
50 for(
int i = 0; i < 16; i++)
m[i] = v.m[i];
55 Matrix4x4T<T>(
const struct Matrix4x4T<T2> & v)
57 for(
int i = 0; i < 16; i++)
m[i] = v.m[i];
79 inline T
operator()(
unsigned int i,
unsigned int j)
const
87 for(
int i = 0; i < 16; i++)
m[i] = 0.0;
94 m[0] =
m[5] =
m[10] =
m[15] = 1.0;
101 A.
m[0] =
m[0] + B.
m[0];
102 A.
m[1] =
m[1] + B.
m[1];
103 A.
m[2] =
m[2] + B.
m[2];
104 A.
m[3] =
m[3] + B.
m[3];
105 A.
m[4] =
m[4] + B.
m[4];
106 A.
m[5] =
m[5] + B.
m[5];
107 A.
m[6] =
m[6] + B.
m[6];
108 A.
m[7] =
m[7] + B.
m[7];
109 A.
m[8] =
m[8] + B.
m[8];
110 A.
m[9] =
m[9] + B.
m[9];
111 A.
m[10] =
m[10] + B.
m[10];
112 A.
m[11] =
m[11] + B.
m[11];
113 A.
m[12] =
m[12] + B.
m[12];
114 A.
m[13] =
m[13] + B.
m[13];
115 A.
m[14] =
m[14] + B.
m[14];
116 A.
m[15] =
m[15] + B.
m[15];
125 A.
m[0] =
m[0] - B.m[0];
126 A.
m[1] =
m[1] - B.m[1];
127 A.
m[2] =
m[2] - B.m[2];
128 A.
m[3] =
m[3] - B.m[3];
129 A.
m[4] =
m[4] - B.m[4];
130 A.
m[5] =
m[5] - B.m[5];
131 A.
m[6] =
m[6] - B.m[6];
132 A.
m[7] =
m[7] - B.m[7];
133 A.
m[8] =
m[8] - B.m[8];
134 A.
m[9] =
m[9] - B.m[9];
135 A.
m[10] =
m[10] - B.m[10];
136 A.
m[11] =
m[11] - B.m[11];
137 A.
m[12] =
m[12] - B.m[12];
138 A.
m[13] =
m[13] - B.m[13];
139 A.
m[14] =
m[14] - B.m[14];
140 A.
m[15] =
m[15] - B.m[15];
149 A.
m[0] =
m[0] * B.
m[0] +
m[1] * B.
m[3] +
m[2] * B.
m[6];
150 A.
m[0] =
m[0] * B.
m[0] +
m[1] * B.
m[4] +
m[2] * B.
m[8] +
m[3] * B.
m[12];
151 A.
m[1] =
m[0] * B.
m[1] +
m[1] * B.
m[5] +
m[2] * B.
m[9] +
m[3] * B.
m[13];
152 A.
m[2] =
m[0] * B.
m[2] +
m[1] * B.
m[6] +
m[2] * B.
m[10] +
m[3] * B.
m[14];
153 A.
m[3] =
m[0] * B.
m[3] +
m[1] * B.
m[7] +
m[2] * B.
m[11] +
m[3] * B.
m[15];
154 A.
m[4] =
m[4] * B.
m[0] +
m[5] * B.
m[4] +
m[6] * B.
m[8] +
m[7] * B.
m[12];
155 A.
m[5] =
m[4] * B.
m[1] +
m[5] * B.
m[5] +
m[6] * B.
m[9] +
m[7] * B.
m[13];
156 A.
m[6] =
m[4] * B.
m[2] +
m[5] * B.
m[6] +
m[6] * B.
m[10] +
m[7] * B.
m[14];
157 A.
m[7] =
m[4] * B.
m[3] +
m[5] * B.
m[7] +
m[6] * B.
m[11] +
m[7] * B.
m[15];
158 A.
m[8] =
m[8] * B.
m[0] +
m[9] * B.
m[4] +
m[10] * B.
m[8] +
m[11] * B.
m[12];
159 A.
m[9] =
m[8] * B.
m[1] +
m[9] * B.
m[5] +
m[10] * B.
m[9] +
m[11] * B.
m[13];
160 A.
m[10] =
m[8] * B.
m[2] +
m[9] * B.
m[6] +
m[10] * B.
m[10] +
m[11] * B.
m[14];
161 A.
m[11] =
m[8] * B.
m[3] +
m[9] * B.
m[7] +
m[10] * B.
m[11] +
m[11] * B.
m[15];
162 A.
m[12] =
m[12] * B.
m[0] +
m[13] * B.
m[4] +
m[14] * B.
m[8] +
m[15] * B.
m[12];
163 A.
m[13] =
m[12] * B.
m[1] +
m[13] * B.
m[5] +
m[14] * B.
m[9] +
m[15] * B.
m[13];
164 A.
m[14] =
m[12] * B.
m[2] +
m[13] * B.
m[6] +
m[14] * B.
m[10] +
m[15] * B.
m[14];
165 A.
m[15] =
m[12] * B.
m[3] +
m[13] * B.
m[7] +
m[14] * B.
m[11] +
m[15] * B.
m[15];
172 C.
m[0] =
m[0] * B.
m[0] +
m[1] * B.
m[4] +
m[2] * B.
m[8] +
m[3] * B.
m[12];
173 C.
m[1] =
m[0] * B.
m[1] +
m[1] * B.
m[5] +
m[2] * B.
m[9] +
m[3] * B.
m[13];
174 C.
m[2] =
m[0] * B.
m[2] +
m[1] * B.
m[6] +
m[2] * B.
m[10] +
m[3] * B.
m[14];
175 C.
m[3] =
m[0] * B.
m[3] +
m[1] * B.
m[7] +
m[2] * B.
m[11] +
m[3] * B.
m[15];
176 C.
m[4] =
m[4] * B.
m[0] +
m[5] * B.
m[4] +
m[6] * B.
m[8] +
m[7] * B.
m[12];
177 C.
m[5] =
m[4] * B.
m[1] +
m[5] * B.
m[5] +
m[6] * B.
m[9] +
m[7] * B.
m[13];
178 C.
m[6] =
m[4] * B.
m[2] +
m[5] * B.
m[6] +
m[6] * B.
m[10] +
m[7] * B.
m[14];
179 C.
m[7] =
m[4] * B.
m[3] +
m[5] * B.
m[7] +
m[6] * B.
m[11] +
m[7] * B.
m[15];
180 C.
m[8] =
m[8] * B.
m[0] +
m[9] * B.
m[4] +
m[10] * B.
m[8] +
m[11] * B.
m[12];
181 C.
m[9] =
m[8] * B.
m[1] +
m[9] * B.
m[5] +
m[10] * B.
m[9] +
m[11] * B.
m[13];
182 C.
m[10] =
m[8] * B.
m[2] +
m[9] * B.
m[6] +
m[10] * B.
m[10] +
m[11] * B.
m[14];
183 C.
m[11] =
m[8] * B.
m[3] +
m[9] * B.
m[7] +
m[10] * B.
m[11] +
m[11] * B.
m[15];
184 C.
m[12] =
m[12] * B.
m[0] +
m[13] * B.
m[4] +
m[14] * B.
m[8] +
m[15] * B.
m[12];
185 C.
m[13] =
m[12] * B.
m[1] +
m[13] * B.
m[5] +
m[14] * B.
m[9] +
m[15] * B.
m[13];
186 C.
m[14] =
m[12] * B.
m[2] +
m[13] * B.
m[6] +
m[14] * B.
m[10] +
m[15] * B.
m[14];
187 C.
m[15] =
m[12] * B.
m[3] +
m[13] * B.
m[7] +
m[14] * B.
m[11] +
m[15] * B.
m[15];
213 result.
m[0] =
m[0] * r;
214 result.
m[1] =
m[1] * r;
215 result.
m[2] =
m[2] * r;
216 result.
m[3] =
m[3] * r;
217 result.
m[4] =
m[4] * r;
218 result.
m[5] =
m[5] * r;
219 result.
m[6] =
m[6] * r;
220 result.
m[7] =
m[7] * r;
221 result.
m[8] =
m[8] * r;
222 result.
m[9] =
m[3] * r;
223 result.
m[10] =
m[10] * r;
224 result.
m[11] =
m[11] * r;
225 result.
m[12] =
m[12] * r;
226 result.
m[13] =
m[13] * r;
227 result.
m[14] =
m[14] * r;
228 result.
m[15] =
m[15] * r;
259 A.
m[0] =
m[6] *
m[11] *
m[13] -
m[7] *
m[10] *
m[13] +
m[7] *
m[9] *
m[14] -
m[5] *
m[11] *
m[14]
260 -
m[6] *
m[9] *
m[15] +
m[5] *
m[10] *
m[15];
261 A.
m[1] =
m[3] *
m[10] *
m[13] -
m[2] *
m[11] *
m[13] -
m[3] *
m[9] *
m[14] +
m[1] *
m[11] *
m[14]
262 +
m[2] *
m[9] *
m[15] -
m[1] *
m[10] *
m[15];
263 A.
m[2] =
m[2] *
m[7] *
m[13] -
m[3] *
m[6] *
m[13] +
m[3] *
m[5] *
m[14] -
m[1] *
m[7] *
m[14] -
m[2] *
m[5] *
m[15]
264 +
m[1] *
m[6] *
m[15];
265 A.
m[3] =
m[3] *
m[6] *
m[9] -
m[2] *
m[7] *
m[9] -
m[3] *
m[5] *
m[10] +
m[1] *
m[7] *
m[10] +
m[2] *
m[5] *
m[11]
266 -
m[1] *
m[6] *
m[11];
267 A.
m[4] =
m[7] *
m[10] *
m[12] -
m[6] *
m[11] *
m[12] -
m[7] *
m[8] *
m[14] +
m[4] *
m[11] *
m[14]
268 +
m[6] *
m[8] *
m[15] -
m[4] *
m[10] *
m[15];
269 A.
m[5] =
m[2] *
m[11] *
m[12] -
m[3] *
m[10] *
m[12] +
m[3] *
m[8] *
m[14] -
m[0] *
m[11] *
m[14]
270 -
m[2] *
m[8] *
m[15] +
m[0] *
m[10] *
m[15];
271 A.
m[6] =
m[3] *
m[6] *
m[12] -
m[2] *
m[7] *
m[12] -
m[3] *
m[4] *
m[14] +
m[0] *
m[7] *
m[14] +
m[2] *
m[4] *
m[15]
272 -
m[0] *
m[6] *
m[15];
273 A.
m[7] =
m[2] *
m[7] *
m[8] -
m[3] *
m[6] *
m[8] +
m[3] *
m[4] *
m[10] -
m[0] *
m[7] *
m[10] -
m[2] *
m[4] *
m[11]
274 +
m[0] *
m[6] *
m[11];
275 A.
m[8] =
m[5] *
m[11] *
m[12] -
m[7] *
m[9] *
m[12] +
m[7] *
m[8] *
m[13] -
m[4] *
m[11] *
m[13]
276 -
m[5] *
m[8] *
m[15] +
m[4] *
m[9] *
m[15];
277 A.
m[9] =
m[3] *
m[9] *
m[12] -
m[1] *
m[11] *
m[12] -
m[3] *
m[8] *
m[13] +
m[0] *
m[11] *
m[13]
278 +
m[1] *
m[8] *
m[15] -
m[0] *
m[9] *
m[15];
279 A.
m[10] =
m[1] *
m[7] *
m[12] -
m[3] *
m[5] *
m[12] +
m[3] *
m[4] *
m[13] -
m[0] *
m[7] *
m[13]
280 -
m[1] *
m[4] *
m[15] +
m[0] *
m[5] *
m[15];
281 A.
m[11] =
m[3] *
m[5] *
m[8] -
m[1] *
m[7] *
m[8] -
m[3] *
m[4] *
m[9] +
m[0] *
m[7] *
m[9] +
m[1] *
m[4] *
m[11]
282 -
m[0] *
m[5] *
m[11];
283 A.
m[12] =
m[6] *
m[9] *
m[12] -
m[5] *
m[10] *
m[12] -
m[6] *
m[8] *
m[13] +
m[4] *
m[10] *
m[13]
284 +
m[5] *
m[8] *
m[14] -
m[4] *
m[9] *
m[14];
285 A.
m[13] =
m[1] *
m[10] *
m[12] -
m[2] *
m[9] *
m[12] +
m[2] *
m[8] *
m[13] -
m[0] *
m[10] *
m[13]
286 -
m[1] *
m[8] *
m[14] +
m[0] *
m[9] *
m[14];
287 A.
m[14] =
m[2] *
m[5] *
m[12] -
m[1] *
m[6] *
m[12] -
m[2] *
m[4] *
m[13] +
m[0] *
m[6] *
m[13]
288 +
m[1] *
m[4] *
m[14] -
m[0] *
m[5] *
m[14];
289 A.
m[15] =
m[1] *
m[6] *
m[8] -
m[2] *
m[5] *
m[8] +
m[2] *
m[4] *
m[9] -
m[0] *
m[6] *
m[9] -
m[1] *
m[4] *
m[10]
290 +
m[0] *
m[5] *
m[10];
298 m[0] =
m[6] *
m[11] *
m[13] -
m[7] *
m[10] *
m[13] +
m[7] *
m[9] *
m[14] -
m[5] *
m[11] *
m[14]
299 -
m[6] *
m[9] *
m[15] +
m[5] *
m[10] *
m[15];
300 m[1] =
m[3] *
m[10] *
m[13] -
m[2] *
m[11] *
m[13] -
m[3] *
m[9] *
m[14] +
m[1] *
m[11] *
m[14]
301 +
m[2] *
m[9] *
m[15] -
m[1] *
m[10] *
m[15];
302 m[2] =
m[2] *
m[7] *
m[13] -
m[3] *
m[6] *
m[13] +
m[3] *
m[5] *
m[14] -
m[1] *
m[7] *
m[14] -
m[2] *
m[5] *
m[15]
303 +
m[1] *
m[6] *
m[15];
304 m[3] =
m[3] *
m[6] *
m[9] -
m[2] *
m[7] *
m[9] -
m[3] *
m[5] *
m[10] +
m[1] *
m[7] *
m[10] +
m[2] *
m[5] *
m[11]
305 -
m[1] *
m[6] *
m[11];
306 m[4] =
m[7] *
m[10] *
m[12] -
m[6] *
m[11] *
m[12] -
m[7] *
m[8] *
m[14] +
m[4] *
m[11] *
m[14]
307 +
m[6] *
m[8] *
m[15] -
m[4] *
m[10] *
m[15];
308 m[5] =
m[2] *
m[11] *
m[12] -
m[3] *
m[10] *
m[12] +
m[3] *
m[8] *
m[14] -
m[0] *
m[11] *
m[14]
309 -
m[2] *
m[8] *
m[15] +
m[0] *
m[10] *
m[15];
310 m[6] =
m[3] *
m[6] *
m[12] -
m[2] *
m[7] *
m[12] -
m[3] *
m[4] *
m[14] +
m[0] *
m[7] *
m[14] +
m[2] *
m[4] *
m[15]
311 -
m[0] *
m[6] *
m[15];
312 m[7] =
m[2] *
m[7] *
m[8] -
m[3] *
m[6] *
m[8] +
m[3] *
m[4] *
m[10] -
m[0] *
m[7] *
m[10] -
m[2] *
m[4] *
m[11]
313 +
m[0] *
m[6] *
m[11];
314 m[8] =
m[5] *
m[11] *
m[12] -
m[7] *
m[9] *
m[12] +
m[7] *
m[8] *
m[13] -
m[4] *
m[11] *
m[13] -
m[5] *
m[8] *
m[15]
315 +
m[4] *
m[9] *
m[15];
316 m[9] =
m[3] *
m[9] *
m[12] -
m[1] *
m[11] *
m[12] -
m[3] *
m[8] *
m[13] +
m[0] *
m[11] *
m[13] +
m[1] *
m[8] *
m[15]
317 -
m[0] *
m[9] *
m[15];
318 m[10] =
m[1] *
m[7] *
m[12] -
m[3] *
m[5] *
m[12] +
m[3] *
m[4] *
m[13] -
m[0] *
m[7] *
m[13] -
m[1] *
m[4] *
m[15]
319 +
m[0] *
m[5] *
m[15];
320 m[11] =
m[3] *
m[5] *
m[8] -
m[1] *
m[7] *
m[8] -
m[3] *
m[4] *
m[9] +
m[0] *
m[7] *
m[9] +
m[1] *
m[4] *
m[11]
321 -
m[0] *
m[5] *
m[11];
322 m[12] =
m[6] *
m[9] *
m[12] -
m[5] *
m[10] *
m[12] -
m[6] *
m[8] *
m[13] +
m[4] *
m[10] *
m[13]
323 +
m[5] *
m[8] *
m[14] -
m[4] *
m[9] *
m[14];
324 m[13] =
m[1] *
m[10] *
m[12] -
m[2] *
m[9] *
m[12] +
m[2] *
m[8] *
m[13] -
m[0] *
m[10] *
m[13]
325 -
m[1] *
m[8] *
m[14] +
m[0] *
m[9] *
m[14];
326 m[14] =
m[2] *
m[5] *
m[12] -
m[1] *
m[6] *
m[12] -
m[2] *
m[4] *
m[13] +
m[0] *
m[6] *
m[13] +
m[1] *
m[4] *
m[14]
327 -
m[0] *
m[5] *
m[14];
328 m[15] =
m[1] *
m[6] *
m[8] -
m[2] *
m[5] *
m[8] +
m[2] *
m[4] *
m[9] -
m[0] *
m[6] *
m[9] -
m[1] *
m[4] *
m[10]
329 +
m[0] *
m[5] *
m[10];
336 return m[3] *
m[6] *
m[9] *
m[12] -
m[2] *
m[7] *
m[9] *
m[12] -
m[3] *
m[5] *
m[10] *
m[12]
337 +
m[1] *
m[7] *
m[10] *
m[12] +
m[2] *
m[5] *
m[11] *
m[12] -
m[1] *
m[6] *
m[11] *
m[12]
338 -
m[3] *
m[6] *
m[8] *
m[13] +
m[2] *
m[7] *
m[8] *
m[13] +
m[3] *
m[4] *
m[10] *
m[13]
339 -
m[0] *
m[7] *
m[10] *
m[13] -
m[2] *
m[4] *
m[11] *
m[13] +
m[0] *
m[6] *
m[11] *
m[13]
340 +
m[3] *
m[5] *
m[8] *
m[14] -
m[1] *
m[7] *
m[8] *
m[14] -
m[3] *
m[4] *
m[9] *
m[14]
341 +
m[0] *
m[7] *
m[9] *
m[14] +
m[1] *
m[4] *
m[11] *
m[14] -
m[0] *
m[5] *
m[11] *
m[14]
342 -
m[2] *
m[5] *
m[8] *
m[15] +
m[1] *
m[6] *
m[8] *
m[15] +
m[2] *
m[4] *
m[9] *
m[15]
343 -
m[0] *
m[6] *
m[9] *
m[15] -
m[1] *
m[4] *
m[10] *
m[15] +
m[0] *
m[5] *
m[10] *
m[15];
348 return m[0] +
m[5] +
m[10] +
m[15];
397 m[0] = temp.
m[0] * B.
m[0] + temp.
m[1] * B.
m[4] + temp.
m[2] * B.
m[8] + temp.
m[3] * B.
m[12];
398 m[1] = temp.
m[0] * B.
m[1] + temp.
m[1] * B.
m[5] + temp.
m[2] * B.
m[9] + temp.
m[3] * B.
m[13];
399 m[2] = temp.
m[0] * B.
m[2] + temp.
m[1] * B.
m[6] + temp.
m[2] * B.
m[10] + temp.
m[3] * B.
m[14];
400 m[3] = temp.
m[0] * B.
m[3] + temp.
m[1] * B.
m[7] + temp.
m[2] * B.
m[11] + temp.
m[3] * B.
m[15];
401 m[4] = temp.
m[4] * B.
m[0] + temp.
m[5] * B.
m[4] + temp.
m[6] * B.
m[8] + temp.
m[7] * B.
m[12];
402 m[5] = temp.
m[4] * B.
m[1] + temp.
m[5] * B.
m[5] + temp.
m[6] * B.
m[9] + temp.
m[7] * B.
m[13];
403 m[6] = temp.
m[4] * B.
m[2] + temp.
m[5] * B.
m[6] + temp.
m[6] * B.
m[10] + temp.
m[7] * B.
m[14];
404 m[7] = temp.
m[4] * B.
m[3] + temp.
m[5] * B.
m[7] + temp.
m[6] * B.
m[11] + temp.
m[7] * B.
m[15];
405 m[8] = temp.
m[8] * B.
m[0] + temp.
m[9] * B.
m[4] + temp.
m[10] * B.
m[8] + temp.
m[11] * B.
m[12];
406 m[9] = temp.
m[8] * B.
m[1] + temp.
m[9] * B.
m[5] + temp.
m[10] * B.
m[9] + temp.
m[11] * B.
m[13];
407 m[10] = temp.
m[8] * B.
m[2] + temp.
m[9] * B.
m[6] + temp.
m[10] * B.
m[10] + temp.
m[11] * B.
m[14];
408 m[11] = temp.
m[8] * B.
m[3] + temp.
m[9] * B.
m[7] + temp.
m[10] * B.
m[11] + temp.
m[11] * B.
m[15];
409 m[12] = temp.
m[12] * B.
m[0] + temp.
m[13] * B.
m[4] + temp.
m[14] * B.
m[8] + temp.
m[15] * B.
m[12];
410 m[13] = temp.
m[12] * B.
m[1] + temp.
m[13] * B.
m[5] + temp.
m[14] * B.
m[9] + temp.
m[15] * B.
m[13];
411 m[14] = temp.
m[12] * B.
m[2] + temp.
m[13] * B.
m[6] + temp.
m[14] * B.
m[10] + temp.
m[15] * B.
m[14];
412 m[15] = temp.
m[12] * B.
m[3] + temp.
m[13] * B.
m[7] + temp.
m[14] * B.
m[11] + temp.
m[15] * B.
m[15];
417 for(
int i = 0; i < 4; i++)
419 for(
int j = 0; j < 4; j++) os << A.
m[i * 4 + j] <<
" ";
Template to handle 3 dimensional vector.
Definition: SmallVector4T.h:20
T m_y
Definition: SmallVector4T.h:22
T m_x
Definition: SmallVector4T.h:22
T m_z
Definition: SmallVector4T.h:22
T m_w
Definition: SmallVector4T.h:22
Definition: QuaternionT.h:7
CD_Matrix::Matrix4x4T< Scalar > Matrix4x4
Definition: SCH_Types.h:29
Definition: SmallMatrix3x3T.h:21
T m[9]
Definition: SmallMatrix3x3T.h:24
Definition: SmallMatrix4x4T.h:16
Matrix4x4T< T > operator*(const double &r)
Definition: SmallMatrix4x4T.h:210
friend std::ostream & operator<<(std::ostream &os, Matrix4x4T< T > const &A)
Definition: SmallMatrix4x4T.h:415
T determinant() const
Definition: SmallMatrix4x4T.h:334
void CeqthismulB(const Vector4T< T > &B, Vector4T< T > &C) const
Definition: SmallMatrix4x4T.h:191
Vector3T< T, b > operator*(const Vector3T< T, b > &B) const
Definition: SmallMatrix4x4T.h:201
T trace() const
Definition: SmallMatrix4x4T.h:346
T & operator()(unsigned int i, unsigned int j)
Definition: SmallMatrix4x4T.h:73
void Inversion(Matrix4x4T &A)
Definition: SmallMatrix4x4T.h:256
void CeqthismulB(const Matrix4x4T< T > &B, Matrix4x4T< T > &C) const
Definition: SmallMatrix4x4T.h:170
Matrix4x4T< T > Inversion()
Definition: SmallMatrix4x4T.h:294
Matrix4x4T< T > Transpose()
Definition: SmallMatrix4x4T.h:233
Matrix4x4T< T > operator*(const Matrix4x4T< T > &B) const
Definition: SmallMatrix4x4T.h:146
void operator-=(const Matrix4x4T< T > &B)
Definition: SmallMatrix4x4T.h:373
void operator*=(const Matrix4x4T< T > &B)
Local matrix multiplication.
Definition: SmallMatrix4x4T.h:394
void setZero(void)
Definition: SmallMatrix4x4T.h:85
void setIdentity(void)
Definition: SmallMatrix4x4T.h:91
Matrix4x4T< T > operator+(const Matrix4x4T< T > &B)
Definition: SmallMatrix4x4T.h:98
T operator()(unsigned int i, unsigned int j) const
Definition: SmallMatrix4x4T.h:79
void operator+=(const Matrix3x3T< T > &B)
Definition: SmallMatrix4x4T.h:352
const T & operator[](unsigned int i) const
Definition: SmallMatrix4x4T.h:67
T & operator[](unsigned int i)
Definition: SmallMatrix4x4T.h:61
T m[16]
Definition: SmallMatrix4x4T.h:18
Definition: SmallVector3T.h:70
T m_z
Definition: SmallVector3T.h:72
T m_x
Definition: SmallVector3T.h:72
T m_y
Definition: SmallVector3T.h:72