[Plib-cvs] CVS: plib/src/ssg ssgVtxTable.cxx,1.26,1.27
Brought to you by:
sjbaker
From: M?rten Str?m. <str...@us...> - 2002-01-25 16:28:04
|
Update of /cvsroot/plib/plib/src/ssg In directory usw-pr-cvs1:/tmp/cvs-serv16016/src/ssg Modified Files: ssgVtxTable.cxx Log Message: Added documentation for sgClassifyMat4. Index: ssgVtxTable.cxx =================================================================== RCS file: /cvsroot/plib/plib/src/ssg/ssgVtxTable.cxx,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- ssgVtxTable.cxx 2001/12/16 18:45:45 1.26 +++ ssgVtxTable.cxx 2002/01/25 16:28:00 1.27 @@ -313,26 +313,20 @@ sgMat4 w ; - if ( ( flags & ( SG_MIRROR | SG_UNIFORM_SCALE | SG_GENERAL_SCALE | SG_NONORTHO ) ) ) + if ( ( flags & ( SG_SCALE | SG_MIRROR | SG_NONORTHO ) ) ) { - if ( ( flags & ( SG_GENERAL_SCALE | SG_NONORTHO ) ) ) + if ( ( flags & SG_NONORTHO ) ) { // use the transposed adjoint matrix (only the upper 3x3 is needed) - w[0][0] = m[1][1] * m[2][2] - m[1][2] * m[2][1] ; - w[0][1] = m[1][2] * m[2][0] - m[1][0] * m[2][2] ; - w[0][2] = m[1][0] * m[2][1] - m[1][1] * m[2][0] ; - w[1][0] = m[2][1] * m[0][2] - m[2][2] * m[0][1] ; - w[1][1] = m[2][2] * m[0][0] - m[2][0] * m[0][2] ; - w[1][2] = m[2][0] * m[0][1] - m[2][1] * m[0][0] ; - w[2][0] = m[0][1] * m[1][2] - m[0][2] * m[1][1] ; - w[2][1] = m[0][2] * m[1][0] - m[0][0] * m[1][2] ; - w[2][2] = m[0][0] * m[1][1] - m[0][1] * m[1][0] ; + sgVectorProductVec3 ( w[0], m[1], m[2] ) ; + sgVectorProductVec3 ( w[1], m[2], m[0] ) ; + sgVectorProductVec3 ( w[2], m[0], m[1] ) ; } else { SGfloat scale = SG_ONE ; - if ( ( flags & SG_UNIFORM_SCALE ) ) + if ( ( flags & SG_SCALE ) ) { // prescale matrix to avoid renormalisation scale = scale / sgLengthVec3 ( m[0] ) ; @@ -357,7 +351,7 @@ sgXformVec3 ( normals->get(i), normals->get(i), m ) ; - if ( ( flags & ( SG_GENERAL_SCALE | SG_NONORTHO ) ) ) + if ( ( flags & SG_NONORTHO ) ) { for ( i = 0 ; i < getNumNormals() ; i++ ) sgNormaliseVec3 ( normals->get(i) ) ; |