0022819: Redesign of OpenGl driver
[occt.git] / src / OpenGl / OpenGl_Matrix.cxx
1 // File:      OpenGl_Matrix.cxx
2 // Created:   13 July 2011
3 // Author:    Sergey ZERCHANINOV
4 // Copyright: OPEN CASCADE 2011
5
6 #include <OpenGl_Matrix.hxx>
7
8 /*----------------------------------------------------------------------*/
9
10 void OpenGl_Multiplymat3 (OpenGl_Matrix *c, const OpenGl_Matrix *a, const OpenGl_Matrix *b)
11 {
12   int row, col, i;
13   for (row = 0; row < 4; row++) {
14     for (col = 0; col < 4; col++) {
15       float sum = 0.F;
16       for (i = 0; i < 4; i++)
17         sum += a->mat[row][i] * b->mat[i][col];
18       c->mat[row][col] = sum;
19     }
20   }
21 }
22
23 /*----------------------------------------------------------------------*/
24
25 void OpenGl_Transposemat3 (OpenGl_Matrix *c, const OpenGl_Matrix *a)
26 {
27   Tint row, col;
28   for (row = 0; row < 4; row++)
29     for (col = 0; col < 4; col++)
30       c->mat[row][col] = a->mat[col][row];
31 }