Lines Matching refs:m
54 m[col][row] = values[row * 4 + col]; in QDoubleMatrix4x4()
63 m[col][row] = values[col * rows + row]; in QDoubleMatrix4x4()
65 m[col][row] = 1.0; in QDoubleMatrix4x4()
67 m[col][row] = 0.0; in QDoubleMatrix4x4()
73 static inline double matrixDet2(const double m[4][4], int col0, int col1, int row0, int row1) in matrixDet2()
75 return m[col0][row0] * m[col1][row1] - m[col0][row1] * m[col1][row0]; in matrixDet2()
79 (const double m[4][4], int col0, int col1, int col2, in matrixDet3()
82 return m[col0][row0] * matrixDet2(m, col1, col2, row1, row2) in matrixDet3()
83 - m[col1][row0] * matrixDet2(m, col0, col2, row1, row2) in matrixDet3()
84 + m[col2][row0] * matrixDet2(m, col0, col1, row1, row2); in matrixDet3()
87 static inline double matrixDet4(const double m[4][4]) in matrixDet4()
90 det = m[0][0] * matrixDet3(m, 1, 2, 3, 1, 2, 3); in matrixDet4()
91 det -= m[1][0] * matrixDet3(m, 0, 2, 3, 1, 2, 3); in matrixDet4()
92 det += m[2][0] * matrixDet3(m, 0, 1, 3, 1, 2, 3); in matrixDet4()
93 det -= m[3][0] * matrixDet3(m, 0, 1, 2, 1, 2, 3); in matrixDet4()
103 return m[0][0] * m[1][1] * m[2][2]; // Translation | Scale in determinant()
105 return matrixDet3(m, 0, 1, 2, 0, 1, 2); in determinant()
106 return matrixDet4(m); in determinant()
118 inv.m[3][0] = -m[3][0]; in inverted()
119 inv.m[3][1] = -m[3][1]; in inverted()
120 inv.m[3][2] = -m[3][2]; in inverted()
127 if (m[0][0] == 0 || m[1][1] == 0 || m[2][2] == 0) { in inverted()
133 inv.m[0][0] = 1.0 / m[0][0]; in inverted()
134 inv.m[1][1] = 1.0 / m[1][1]; in inverted()
135 inv.m[2][2] = 1.0 / m[2][2]; in inverted()
136 inv.m[3][0] = -m[3][0] * inv.m[0][0]; in inverted()
137 inv.m[3][1] = -m[3][1] * inv.m[1][1]; in inverted()
138 inv.m[3][2] = -m[3][2] * inv.m[2][2]; in inverted()
151 double det = matrixDet3(m, 0, 1, 2, 0, 1, 2); in inverted()
159 inv.m[0][0] = matrixDet2(m, 1, 2, 1, 2) * det; in inverted()
160 inv.m[0][1] = -matrixDet2(m, 0, 2, 1, 2) * det; in inverted()
161 inv.m[0][2] = matrixDet2(m, 0, 1, 1, 2) * det; in inverted()
162 inv.m[0][3] = 0; in inverted()
163 inv.m[1][0] = -matrixDet2(m, 1, 2, 0, 2) * det; in inverted()
164 inv.m[1][1] = matrixDet2(m, 0, 2, 0, 2) * det; in inverted()
165 inv.m[1][2] = -matrixDet2(m, 0, 1, 0, 2) * det; in inverted()
166 inv.m[1][3] = 0; in inverted()
167 inv.m[2][0] = matrixDet2(m, 1, 2, 0, 1) * det; in inverted()
168 inv.m[2][1] = -matrixDet2(m, 0, 2, 0, 1) * det; in inverted()
169 inv.m[2][2] = matrixDet2(m, 0, 1, 0, 1) * det; in inverted()
170 inv.m[2][3] = 0; in inverted()
171 inv.m[3][0] = -inv.m[0][0] * m[3][0] - inv.m[1][0] * m[3][1] - inv.m[2][0] * m[3][2]; in inverted()
172 inv.m[3][1] = -inv.m[0][1] * m[3][0] - inv.m[1][1] * m[3][1] - inv.m[2][1] * m[3][2]; in inverted()
173 inv.m[3][2] = -inv.m[0][2] * m[3][0] - inv.m[1][2] * m[3][1] - inv.m[2][2] * m[3][2]; in inverted()
174 inv.m[3][3] = 1; in inverted()
184 double det = matrixDet4(m); in inverted()
192 inv.m[0][0] = matrixDet3(m, 1, 2, 3, 1, 2, 3) * det; in inverted()
193 inv.m[0][1] = -matrixDet3(m, 0, 2, 3, 1, 2, 3) * det; in inverted()
194 inv.m[0][2] = matrixDet3(m, 0, 1, 3, 1, 2, 3) * det; in inverted()
195 inv.m[0][3] = -matrixDet3(m, 0, 1, 2, 1, 2, 3) * det; in inverted()
196 inv.m[1][0] = -matrixDet3(m, 1, 2, 3, 0, 2, 3) * det; in inverted()
197 inv.m[1][1] = matrixDet3(m, 0, 2, 3, 0, 2, 3) * det; in inverted()
198 inv.m[1][2] = -matrixDet3(m, 0, 1, 3, 0, 2, 3) * det; in inverted()
199 inv.m[1][3] = matrixDet3(m, 0, 1, 2, 0, 2, 3) * det; in inverted()
200 inv.m[2][0] = matrixDet3(m, 1, 2, 3, 0, 1, 3) * det; in inverted()
201 inv.m[2][1] = -matrixDet3(m, 0, 2, 3, 0, 1, 3) * det; in inverted()
202 inv.m[2][2] = matrixDet3(m, 0, 1, 3, 0, 1, 3) * det; in inverted()
203 inv.m[2][3] = -matrixDet3(m, 0, 1, 2, 0, 1, 3) * det; in inverted()
204 inv.m[3][0] = -matrixDet3(m, 1, 2, 3, 0, 1, 2) * det; in inverted()
205 inv.m[3][1] = matrixDet3(m, 0, 2, 3, 0, 1, 2) * det; in inverted()
206 inv.m[3][2] = -matrixDet3(m, 0, 1, 3, 0, 1, 2) * det; in inverted()
207 inv.m[3][3] = matrixDet3(m, 0, 1, 2, 0, 1, 2) * det; in inverted()
220 result.m[col][row] = m[row][col]; in transposed()
230 m[0][0] /= divisor; in operator /=()
231 m[0][1] /= divisor; in operator /=()
232 m[0][2] /= divisor; in operator /=()
233 m[0][3] /= divisor; in operator /=()
234 m[1][0] /= divisor; in operator /=()
235 m[1][1] /= divisor; in operator /=()
236 m[1][2] /= divisor; in operator /=()
237 m[1][3] /= divisor; in operator /=()
238 m[2][0] /= divisor; in operator /=()
239 m[2][1] /= divisor; in operator /=()
240 m[2][2] /= divisor; in operator /=()
241 m[2][3] /= divisor; in operator /=()
242 m[3][0] /= divisor; in operator /=()
243 m[3][1] /= divisor; in operator /=()
244 m[3][2] /= divisor; in operator /=()
245 m[3][3] /= divisor; in operator /=()
252 QDoubleMatrix4x4 m(1); // The "1" says to not load the identity. in operator /() local
253 m.m[0][0] = matrix.m[0][0] / divisor; in operator /()
254 m.m[0][1] = matrix.m[0][1] / divisor; in operator /()
255 m.m[0][2] = matrix.m[0][2] / divisor; in operator /()
256 m.m[0][3] = matrix.m[0][3] / divisor; in operator /()
257 m.m[1][0] = matrix.m[1][0] / divisor; in operator /()
258 m.m[1][1] = matrix.m[1][1] / divisor; in operator /()
259 m.m[1][2] = matrix.m[1][2] / divisor; in operator /()
260 m.m[1][3] = matrix.m[1][3] / divisor; in operator /()
261 m.m[2][0] = matrix.m[2][0] / divisor; in operator /()
262 m.m[2][1] = matrix.m[2][1] / divisor; in operator /()
263 m.m[2][2] = matrix.m[2][2] / divisor; in operator /()
264 m.m[2][3] = matrix.m[2][3] / divisor; in operator /()
265 m.m[3][0] = matrix.m[3][0] / divisor; in operator /()
266 m.m[3][1] = matrix.m[3][1] / divisor; in operator /()
267 m.m[3][2] = matrix.m[3][2] / divisor; in operator /()
268 m.m[3][3] = matrix.m[3][3] / divisor; in operator /()
269 m.flagBits = QDoubleMatrix4x4::General; in operator /()
270 return m; in operator /()
279 m[0][0] = vx; in scale()
280 m[1][1] = vy; in scale()
281 m[2][2] = vz; in scale()
283 m[0][0] *= vx; in scale()
284 m[1][1] *= vy; in scale()
285 m[2][2] *= vz; in scale()
287 m[0][0] *= vx; in scale()
288 m[0][1] *= vx; in scale()
289 m[1][0] *= vy; in scale()
290 m[1][1] *= vy; in scale()
291 m[2][2] *= vz; in scale()
293 m[0][0] *= vx; in scale()
294 m[0][1] *= vx; in scale()
295 m[0][2] *= vx; in scale()
296 m[0][3] *= vx; in scale()
297 m[1][0] *= vy; in scale()
298 m[1][1] *= vy; in scale()
299 m[1][2] *= vy; in scale()
300 m[1][3] *= vy; in scale()
301 m[2][0] *= vz; in scale()
302 m[2][1] *= vz; in scale()
303 m[2][2] *= vz; in scale()
304 m[2][3] *= vz; in scale()
312 m[0][0] = x; in scale()
313 m[1][1] = y; in scale()
315 m[0][0] *= x; in scale()
316 m[1][1] *= y; in scale()
318 m[0][0] *= x; in scale()
319 m[0][1] *= x; in scale()
320 m[1][0] *= y; in scale()
321 m[1][1] *= y; in scale()
323 m[0][0] *= x; in scale()
324 m[0][1] *= x; in scale()
325 m[0][2] *= x; in scale()
326 m[0][3] *= x; in scale()
327 m[1][0] *= y; in scale()
328 m[1][1] *= y; in scale()
329 m[1][2] *= y; in scale()
330 m[1][3] *= y; in scale()
338 m[0][0] = x; in scale()
339 m[1][1] = y; in scale()
340 m[2][2] = z; in scale()
342 m[0][0] *= x; in scale()
343 m[1][1] *= y; in scale()
344 m[2][2] *= z; in scale()
346 m[0][0] *= x; in scale()
347 m[0][1] *= x; in scale()
348 m[1][0] *= y; in scale()
349 m[1][1] *= y; in scale()
350 m[2][2] *= z; in scale()
352 m[0][0] *= x; in scale()
353 m[0][1] *= x; in scale()
354 m[0][2] *= x; in scale()
355 m[0][3] *= x; in scale()
356 m[1][0] *= y; in scale()
357 m[1][1] *= y; in scale()
358 m[1][2] *= y; in scale()
359 m[1][3] *= y; in scale()
360 m[2][0] *= z; in scale()
361 m[2][1] *= z; in scale()
362 m[2][2] *= z; in scale()
363 m[2][3] *= z; in scale()
371 m[0][0] = factor; in scale()
372 m[1][1] = factor; in scale()
373 m[2][2] = factor; in scale()
375 m[0][0] *= factor; in scale()
376 m[1][1] *= factor; in scale()
377 m[2][2] *= factor; in scale()
379 m[0][0] *= factor; in scale()
380 m[0][1] *= factor; in scale()
381 m[1][0] *= factor; in scale()
382 m[1][1] *= factor; in scale()
383 m[2][2] *= factor; in scale()
385 m[0][0] *= factor; in scale()
386 m[0][1] *= factor; in scale()
387 m[0][2] *= factor; in scale()
388 m[0][3] *= factor; in scale()
389 m[1][0] *= factor; in scale()
390 m[1][1] *= factor; in scale()
391 m[1][2] *= factor; in scale()
392 m[1][3] *= factor; in scale()
393 m[2][0] *= factor; in scale()
394 m[2][1] *= factor; in scale()
395 m[2][2] *= factor; in scale()
396 m[2][3] *= factor; in scale()
407 m[3][0] = vx; in translate()
408 m[3][1] = vy; in translate()
409 m[3][2] = vz; in translate()
411 m[3][0] += vx; in translate()
412 m[3][1] += vy; in translate()
413 m[3][2] += vz; in translate()
415 m[3][0] = m[0][0] * vx; in translate()
416 m[3][1] = m[1][1] * vy; in translate()
417 m[3][2] = m[2][2] * vz; in translate()
419 m[3][0] += m[0][0] * vx; in translate()
420 m[3][1] += m[1][1] * vy; in translate()
421 m[3][2] += m[2][2] * vz; in translate()
423 m[3][0] += m[0][0] * vx + m[1][0] * vy; in translate()
424 m[3][1] += m[0][1] * vx + m[1][1] * vy; in translate()
425 m[3][2] += m[2][2] * vz; in translate()
427 m[3][0] += m[0][0] * vx + m[1][0] * vy + m[2][0] * vz; in translate()
428 m[3][1] += m[0][1] * vx + m[1][1] * vy + m[2][1] * vz; in translate()
429 m[3][2] += m[0][2] * vx + m[1][2] * vy + m[2][2] * vz; in translate()
430 m[3][3] += m[0][3] * vx + m[1][3] * vy + m[2][3] * vz; in translate()
438 m[3][0] = x; in translate()
439 m[3][1] = y; in translate()
441 m[3][0] += x; in translate()
442 m[3][1] += y; in translate()
444 m[3][0] = m[0][0] * x; in translate()
445 m[3][1] = m[1][1] * y; in translate()
447 m[3][0] += m[0][0] * x; in translate()
448 m[3][1] += m[1][1] * y; in translate()
450 m[3][0] += m[0][0] * x + m[1][0] * y; in translate()
451 m[3][1] += m[0][1] * x + m[1][1] * y; in translate()
453 m[3][0] += m[0][0] * x + m[1][0] * y; in translate()
454 m[3][1] += m[0][1] * x + m[1][1] * y; in translate()
455 m[3][2] += m[0][2] * x + m[1][2] * y; in translate()
456 m[3][3] += m[0][3] * x + m[1][3] * y; in translate()
464 m[3][0] = x; in translate()
465 m[3][1] = y; in translate()
466 m[3][2] = z; in translate()
468 m[3][0] += x; in translate()
469 m[3][1] += y; in translate()
470 m[3][2] += z; in translate()
472 m[3][0] = m[0][0] * x; in translate()
473 m[3][1] = m[1][1] * y; in translate()
474 m[3][2] = m[2][2] * z; in translate()
476 m[3][0] += m[0][0] * x; in translate()
477 m[3][1] += m[1][1] * y; in translate()
478 m[3][2] += m[2][2] * z; in translate()
480 m[3][0] += m[0][0] * x + m[1][0] * y; in translate()
481 m[3][1] += m[0][1] * x + m[1][1] * y; in translate()
482 m[3][2] += m[2][2] * z; in translate()
484 m[3][0] += m[0][0] * x + m[1][0] * y + m[2][0] * z; in translate()
485 m[3][1] += m[0][1] * x + m[1][1] * y + m[2][1] * z; in translate()
486 m[3][2] += m[0][2] * x + m[1][2] * y + m[2][2] * z; in translate()
487 m[3][3] += m[0][3] * x + m[1][3] * y + m[2][3] * z; in translate()
523 m[0][0] = (tmp = m[0][0]) * c + m[1][0] * s; in rotate()
524 m[1][0] = m[1][0] * c - tmp * s; in rotate()
525 m[0][1] = (tmp = m[0][1]) * c + m[1][1] * s; in rotate()
526 m[1][1] = m[1][1] * c - tmp * s; in rotate()
527 m[0][2] = (tmp = m[0][2]) * c + m[1][2] * s; in rotate()
528 m[1][2] = m[1][2] * c - tmp * s; in rotate()
529 m[0][3] = (tmp = m[0][3]) * c + m[1][3] * s; in rotate()
530 m[1][3] = m[1][3] * c - tmp * s; in rotate()
540 m[2][0] = (tmp = m[2][0]) * c + m[0][0] * s; in rotate()
541 m[0][0] = m[0][0] * c - tmp * s; in rotate()
542 m[2][1] = (tmp = m[2][1]) * c + m[0][1] * s; in rotate()
543 m[0][1] = m[0][1] * c - tmp * s; in rotate()
544 m[2][2] = (tmp = m[2][2]) * c + m[0][2] * s; in rotate()
545 m[0][2] = m[0][2] * c - tmp * s; in rotate()
546 m[2][3] = (tmp = m[2][3]) * c + m[0][3] * s; in rotate()
547 m[0][3] = m[0][3] * c - tmp * s; in rotate()
557 m[1][0] = (tmp = m[1][0]) * c + m[2][0] * s; in rotate()
558 m[2][0] = m[2][0] * c - tmp * s; in rotate()
559 m[1][1] = (tmp = m[1][1]) * c + m[2][1] * s; in rotate()
560 m[2][1] = m[2][1] * c - tmp * s; in rotate()
561 m[1][2] = (tmp = m[1][2]) * c + m[2][2] * s; in rotate()
562 m[2][2] = m[2][2] * c - tmp * s; in rotate()
563 m[1][3] = (tmp = m[1][3]) * c + m[2][3] * s; in rotate()
564 m[2][3] = m[2][3] * c - tmp * s; in rotate()
581 rot.m[0][0] = x * x * ic + c; in rotate()
582 rot.m[1][0] = x * y * ic - z * s; in rotate()
583 rot.m[2][0] = x * z * ic + y * s; in rotate()
584 rot.m[3][0] = 0.0; in rotate()
585 rot.m[0][1] = y * x * ic + z * s; in rotate()
586 rot.m[1][1] = y * y * ic + c; in rotate()
587 rot.m[2][1] = y * z * ic - x * s; in rotate()
588 rot.m[3][1] = 0.0; in rotate()
589 rot.m[0][2] = x * z * ic - y * s; in rotate()
590 rot.m[1][2] = y * z * ic + x * s; in rotate()
591 rot.m[2][2] = z * z * ic + c; in rotate()
592 rot.m[3][2] = 0.0; in rotate()
593 rot.m[0][3] = 0.0; in rotate()
594 rot.m[1][3] = 0.0; in rotate()
595 rot.m[2][3] = 0.0; in rotate()
596 rot.m[3][3] = 1.0; in rotate()
629 m[0][0] = (tmp = m[0][0]) * c + m[1][0] * s; in projectedRotate()
630 m[1][0] = m[1][0] * c - tmp * s; in projectedRotate()
631 m[0][1] = (tmp = m[0][1]) * c + m[1][1] * s; in projectedRotate()
632 m[1][1] = m[1][1] * c - tmp * s; in projectedRotate()
633 m[0][2] = (tmp = m[0][2]) * c + m[1][2] * s; in projectedRotate()
634 m[1][2] = m[1][2] * c - tmp * s; in projectedRotate()
635 m[0][3] = (tmp = m[0][3]) * c + m[1][3] * s; in projectedRotate()
636 m[1][3] = m[1][3] * c - tmp * s; in projectedRotate()
645 m[0][0] = m[0][0] * c + m[3][0] * s * inv_dist_to_plane; in projectedRotate()
646 m[0][1] = m[0][1] * c + m[3][1] * s * inv_dist_to_plane; in projectedRotate()
647 m[0][2] = m[0][2] * c + m[3][2] * s * inv_dist_to_plane; in projectedRotate()
648 m[0][3] = m[0][3] * c + m[3][3] * s * inv_dist_to_plane; in projectedRotate()
656 m[1][0] = m[1][0] * c - m[3][0] * s * inv_dist_to_plane; in projectedRotate()
657 m[1][1] = m[1][1] * c - m[3][1] * s * inv_dist_to_plane; in projectedRotate()
658 m[1][2] = m[1][2] * c - m[3][2] * s * inv_dist_to_plane; in projectedRotate()
659 m[1][3] = m[1][3] * c - m[3][3] * s * inv_dist_to_plane; in projectedRotate()
674 rot.m[0][0] = x * x * ic + c; in projectedRotate()
675 rot.m[1][0] = x * y * ic - z * s; in projectedRotate()
676 rot.m[2][0] = 0.0; in projectedRotate()
677 rot.m[3][0] = 0.0; in projectedRotate()
678 rot.m[0][1] = y * x * ic + z * s; in projectedRotate()
679 rot.m[1][1] = y * y * ic + c; in projectedRotate()
680 rot.m[2][1] = 0.0; in projectedRotate()
681 rot.m[3][1] = 0.0; in projectedRotate()
682 rot.m[0][2] = 0.0; in projectedRotate()
683 rot.m[1][2] = 0.0; in projectedRotate()
684 rot.m[2][2] = 1.0; in projectedRotate()
685 rot.m[3][2] = 0.0; in projectedRotate()
686 rot.m[0][3] = (x * z * ic - y * s) * -inv_dist_to_plane; in projectedRotate()
687 rot.m[1][3] = (y * z * ic + x * s) * -inv_dist_to_plane; in projectedRotate()
688 rot.m[2][3] = 0.0; in projectedRotate()
689 rot.m[3][3] = 1.0; in projectedRotate()
718 QDoubleMatrix4x4 m(1); in ortho() local
719 m.m[0][0] = 2.0 / width; in ortho()
720 m.m[1][0] = 0.0; in ortho()
721 m.m[2][0] = 0.0; in ortho()
722 m.m[3][0] = -(left + right) / width; in ortho()
723 m.m[0][1] = 0.0; in ortho()
724 m.m[1][1] = 2.0 / invheight; in ortho()
725 m.m[2][1] = 0.0; in ortho()
726 m.m[3][1] = -(top + bottom) / invheight; in ortho()
727 m.m[0][2] = 0.0; in ortho()
728 m.m[1][2] = 0.0; in ortho()
729 m.m[2][2] = -2.0 / clip; in ortho()
730 m.m[3][2] = -(nearPlane + farPlane) / clip; in ortho()
731 m.m[0][3] = 0.0; in ortho()
732 m.m[1][3] = 0.0; in ortho()
733 m.m[2][3] = 0.0; in ortho()
734 m.m[3][3] = 1.0; in ortho()
735 m.flagBits = Translation | Scale; in ortho()
738 *this *= m; in ortho()
748 QDoubleMatrix4x4 m(1); in frustum() local
752 m.m[0][0] = 2.0 * nearPlane / width; in frustum()
753 m.m[1][0] = 0.0; in frustum()
754 m.m[2][0] = (left + right) / width; in frustum()
755 m.m[3][0] = 0.0; in frustum()
756 m.m[0][1] = 0.0; in frustum()
757 m.m[1][1] = 2.0 * nearPlane / invheight; in frustum()
758 m.m[2][1] = (top + bottom) / invheight; in frustum()
759 m.m[3][1] = 0.0; in frustum()
760 m.m[0][2] = 0.0; in frustum()
761 m.m[1][2] = 0.0; in frustum()
762 m.m[2][2] = -(nearPlane + farPlane) / clip; in frustum()
763 m.m[3][2] = -2.0 * nearPlane * farPlane / clip; in frustum()
764 m.m[0][3] = 0.0; in frustum()
765 m.m[1][3] = 0.0; in frustum()
766 m.m[2][3] = -1.0; in frustum()
767 m.m[3][3] = 0.0; in frustum()
768 m.flagBits = General; in frustum()
771 *this *= m; in frustum()
781 QDoubleMatrix4x4 m(1); in perspective() local
788 m.m[0][0] = cotan / aspectRatio; in perspective()
789 m.m[1][0] = 0.0; in perspective()
790 m.m[2][0] = 0.0; in perspective()
791 m.m[3][0] = 0.0; in perspective()
792 m.m[0][1] = 0.0; in perspective()
793 m.m[1][1] = cotan; in perspective()
794 m.m[2][1] = 0.0; in perspective()
795 m.m[3][1] = 0.0; in perspective()
796 m.m[0][2] = 0.0; in perspective()
797 m.m[1][2] = 0.0; in perspective()
798 m.m[2][2] = -(nearPlane + farPlane) / clip; in perspective()
799 m.m[3][2] = -(2.0 * nearPlane * farPlane) / clip; in perspective()
800 m.m[0][3] = 0.0; in perspective()
801 m.m[1][3] = 0.0; in perspective()
802 m.m[2][3] = -1.0; in perspective()
803 m.m[3][3] = 0.0; in perspective()
804 m.flagBits = General; in perspective()
807 *this *= m; in perspective()
820 QDoubleMatrix4x4 m(1); in lookAt() local
821 m.m[0][0] = side.x(); in lookAt()
822 m.m[1][0] = side.y(); in lookAt()
823 m.m[2][0] = side.z(); in lookAt()
824 m.m[3][0] = 0.0; in lookAt()
825 m.m[0][1] = upVector.x(); in lookAt()
826 m.m[1][1] = upVector.y(); in lookAt()
827 m.m[2][1] = upVector.z(); in lookAt()
828 m.m[3][1] = 0.0; in lookAt()
829 m.m[0][2] = -forward.x(); in lookAt()
830 m.m[1][2] = -forward.y(); in lookAt()
831 m.m[2][2] = -forward.z(); in lookAt()
832 m.m[3][2] = 0.0; in lookAt()
833 m.m[0][3] = 0.0; in lookAt()
834 m.m[1][3] = 0.0; in lookAt()
835 m.m[2][3] = 0.0; in lookAt()
836 m.m[3][3] = 1.0; in lookAt()
837 m.flagBits = Rotation; in lookAt()
839 *this *= m; in lookAt()
848 QDoubleMatrix4x4 m(1); in viewport() local
849 m.m[0][0] = w2; in viewport()
850 m.m[1][0] = 0.0; in viewport()
851 m.m[2][0] = 0.0; in viewport()
852 m.m[3][0] = left + w2; in viewport()
853 m.m[0][1] = 0.0; in viewport()
854 m.m[1][1] = h2; in viewport()
855 m.m[2][1] = 0.0; in viewport()
856 m.m[3][1] = bottom + h2; in viewport()
857 m.m[0][2] = 0.0; in viewport()
858 m.m[1][2] = 0.0; in viewport()
859 m.m[2][2] = (farPlane - nearPlane) / 2.0; in viewport()
860 m.m[3][2] = (nearPlane + farPlane) / 2.0; in viewport()
861 m.m[0][3] = 0.0; in viewport()
862 m.m[1][3] = 0.0; in viewport()
863 m.m[2][3] = 0.0; in viewport()
864 m.m[3][3] = 1.0; in viewport()
865 m.flagBits = General; in viewport()
867 *this *= m; in viewport()
877 m[1][1] = -m[1][1]; in flipCoordinates()
878 m[2][2] = -m[2][2]; in flipCoordinates()
880 m[1][0] = -m[1][0]; in flipCoordinates()
881 m[1][1] = -m[1][1]; in flipCoordinates()
882 m[1][2] = -m[1][2]; in flipCoordinates()
883 m[1][3] = -m[1][3]; in flipCoordinates()
884 m[2][0] = -m[2][0]; in flipCoordinates()
885 m[2][1] = -m[2][1]; in flipCoordinates()
886 m[2][2] = -m[2][2]; in flipCoordinates()
887 m[2][3] = -m[2][3]; in flipCoordinates()
896 values[row * 4 + col] = double(m[col][row]); in copyDataTo()
903 return QRect(qRound(rect.x() + m[3][0]), in mapRect()
904 qRound(rect.y() + m[3][1]), in mapRect()
908 double x = rect.x() * m[0][0] + m[3][0]; in mapRect()
909 double y = rect.y() * m[1][1] + m[3][1]; in mapRect()
910 double w = rect.width() * m[0][0]; in mapRect()
911 double h = rect.height() * m[1][1]; in mapRect()
941 return rect.translated(m[3][0], m[3][1]); in mapRect()
944 double x = rect.x() * m[0][0] + m[3][0]; in mapRect()
945 double y = rect.y() * m[1][1] + m[3][1]; in mapRect()
946 double w = rect.width() * m[0][0]; in mapRect()
947 double h = rect.height() * m[1][1]; in mapRect()
974 result.m[0][0] = m[0][0]; in orthonormalInverse()
975 result.m[1][0] = m[0][1]; in orthonormalInverse()
976 result.m[2][0] = m[0][2]; in orthonormalInverse()
978 result.m[0][1] = m[1][0]; in orthonormalInverse()
979 result.m[1][1] = m[1][1]; in orthonormalInverse()
980 result.m[2][1] = m[1][2]; in orthonormalInverse()
982 result.m[0][2] = m[2][0]; in orthonormalInverse()
983 result.m[1][2] = m[2][1]; in orthonormalInverse()
984 result.m[2][2] = m[2][2]; in orthonormalInverse()
986 result.m[0][3] = 0.0; in orthonormalInverse()
987 result.m[1][3] = 0.0; in orthonormalInverse()
988 result.m[2][3] = 0.0; in orthonormalInverse()
990 …result.m[3][0] = -(result.m[0][0] * m[3][0] + result.m[1][0] * m[3][1] + result.m[2][0] * m[3][2]); in orthonormalInverse()
991 …result.m[3][1] = -(result.m[0][1] * m[3][0] + result.m[1][1] * m[3][1] + result.m[2][1] * m[3][2]); in orthonormalInverse()
992 …result.m[3][2] = -(result.m[0][2] * m[3][0] + result.m[1][2] * m[3][1] + result.m[2][2] * m[3][2]); in orthonormalInverse()
993 result.m[3][3] = 1.0; in orthonormalInverse()
1004 if (m[0][3] != 0 || m[1][3] != 0 || m[2][3] != 0 || m[3][3] != 1) in optimize()
1010 if (m[3][0] == 0 && m[3][1] == 0 && m[3][2] == 0) in optimize()
1014 if (!m[0][2] && !m[1][2] && !m[2][0] && !m[2][1]) { in optimize()
1017 if (!m[0][1] && !m[1][0]) { in optimize()
1020 if (m[0][0] == 1 && m[1][1] == 1 && m[2][2] == 1) in optimize()
1024 double det = matrixDet2(m, 0, 1, 0, 1); in optimize()
1025 double lenX = m[0][0] * m[0][0] + m[0][1] * m[0][1]; in optimize()
1026 double lenY = m[1][0] * m[1][0] + m[1][1] * m[1][1]; in optimize()
1027 double lenZ = m[2][2]; in optimize()
1036 double det = matrixDet3(m, 0, 1, 2, 0, 1, 2); in optimize()
1037 double lenX = m[0][0] * m[0][0] + m[0][1] * m[0][1] + m[0][2] * m[0][2]; in optimize()
1038 double lenY = m[1][0] * m[1][0] + m[1][1] * m[1][1] + m[1][2] * m[1][2]; in optimize()
1039 double lenZ = m[2][0] * m[2][0] + m[2][1] * m[2][1] + m[2][2] * m[2][2]; in optimize()
1050 QDebug operator<<(QDebug dbg, const QDoubleMatrix4x4 &m) in operator <<() argument
1055 if (m.flagBits == QDoubleMatrix4x4::Identity) { in operator <<()
1057 } else if (m.flagBits == QDoubleMatrix4x4::General) { in operator <<()
1060 if ((m.flagBits & QDoubleMatrix4x4::Translation) != 0) in operator <<()
1062 if ((m.flagBits & QDoubleMatrix4x4::Scale) != 0) in operator <<()
1064 if ((m.flagBits & QDoubleMatrix4x4::Rotation2D) != 0) in operator <<()
1066 if ((m.flagBits & QDoubleMatrix4x4::Rotation) != 0) in operator <<()
1068 if ((m.flagBits & QDoubleMatrix4x4::Perspective) != 0) in operator <<()
1077 << m(0, 0) << m(0, 1) << m(0, 2) << m(0, 3) << Qt::endl in operator <<()
1078 << m(1, 0) << m(1, 1) << m(1, 2) << m(1, 3) << Qt::endl in operator <<()
1079 << m(2, 0) << m(2, 1) << m(2, 2) << m(2, 3) << Qt::endl in operator <<()
1080 << m(3, 0) << m(3, 1) << m(3, 2) << m(3, 3) << Qt::endl in operator <<()