Merge pull request #854 from timoore/transpose

Fix bug in matrix transpose() and transpose3x3
This commit is contained in:
OpenSceneGraph git repository 2019-12-12 10:40:17 +00:00 committed by GitHub
commit c976f045f4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -747,18 +747,22 @@ bool Matrix_implementation::transpose(const Matrix_implementation&mat){
Matrix_implementation tm(mat); Matrix_implementation tm(mat);
return transpose(tm); return transpose(tm);
} }
_mat[0][0]=mat._mat[0][0];
_mat[0][1]=mat._mat[1][0]; _mat[0][1]=mat._mat[1][0];
_mat[0][2]=mat._mat[2][0]; _mat[0][2]=mat._mat[2][0];
_mat[0][3]=mat._mat[3][0]; _mat[0][3]=mat._mat[3][0];
_mat[1][0]=mat._mat[0][1]; _mat[1][0]=mat._mat[0][1];
_mat[1][1]=mat._mat[1][1];
_mat[1][2]=mat._mat[2][1]; _mat[1][2]=mat._mat[2][1];
_mat[1][3]=mat._mat[3][1]; _mat[1][3]=mat._mat[3][1];
_mat[2][0]=mat._mat[0][2]; _mat[2][0]=mat._mat[0][2];
_mat[2][1]=mat._mat[1][2]; _mat[2][1]=mat._mat[1][2];
_mat[2][2]=mat._mat[2][2];
_mat[2][3]=mat._mat[3][2]; _mat[2][3]=mat._mat[3][2];
_mat[3][0]=mat._mat[0][3]; _mat[3][0]=mat._mat[0][3];
_mat[3][1]=mat._mat[1][3]; _mat[3][1]=mat._mat[1][3];
_mat[3][2]=mat._mat[2][3]; _mat[3][2]=mat._mat[2][3];
_mat[3][3]=mat._mat[3][3];
return true; return true;
} }
@ -767,12 +771,15 @@ bool Matrix_implementation::transpose3x3(const Matrix_implementation&mat){
Matrix_implementation tm(mat); Matrix_implementation tm(mat);
return transpose3x3(tm); return transpose3x3(tm);
} }
_mat[0][0]=mat._mat[0][0];
_mat[0][1]=mat._mat[1][0]; _mat[0][1]=mat._mat[1][0];
_mat[0][2]=mat._mat[2][0]; _mat[0][2]=mat._mat[2][0];
_mat[1][0]=mat._mat[0][1]; _mat[1][0]=mat._mat[0][1];
_mat[1][1]=mat._mat[1][1];
_mat[1][2]=mat._mat[2][1]; _mat[1][2]=mat._mat[2][1];
_mat[2][0]=mat._mat[0][2]; _mat[2][0]=mat._mat[0][2];
_mat[2][1]=mat._mat[1][2]; _mat[2][1]=mat._mat[1][2];
_mat[2][2]=mat._mat[2][2];
return true; return true;
} }