[brlcad-commits] CVS: brlcad/src/conv/iges n_iges.cpp,1.7,1.8
Open Source Solid Modeling CAD
Brought to you by:
brlcad
From: Sean M. <br...@us...> - 2007-05-14 21:21:39
|
Update of /cvsroot/brlcad/brlcad/src/conv/iges In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv27036/src/conv/iges Modified Files: n_iges.cpp Log Message: vmath is predominantly vector math, matrix math is elsewhere in bn (this holds for other operations that are more intensive than basic vector math code too). in particular, seems at a glance that this code should be using bn_mat_mult(). Index: n_iges.cpp =================================================================== RCS file: /cvsroot/brlcad/brlcad/src/conv/iges/n_iges.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -w -u -r1.7 -r1.8 --- n_iges.cpp 14 May 2007 16:47:16 -0000 1.7 +++ n_iges.cpp 14 May 2007 21:21:38 -0000 1.8 @@ -675,24 +675,6 @@ return _dir[(ptr-1)/2]; } - // !! why isn't this in VMATH? - void matmult(mat_t a, mat_t b, mat_t c) - { - // vectorize? - mat_t tmp; - int i,j,k; - - for( i=0 ; i<4 ; i++ ) - for( j=0 ; j<4 ; j++ ) { - tmp[i*4+j] = 0.0; - for( k=0 ; k<4 ; k++ ) - tmp[i*4+j] += a[i*4+k] * b[k*4+j]; - } - for( i=0 ; i<4 ; i++ ) - for( j=0 ; j<4 ; j++ ) - c[i*4+j] = tmp[i*4+j]; - } - void IGES::getTransformation(const Pointer& ptr, mat_t out_xform) { @@ -713,7 +695,7 @@ if (xform_de->xform()() != 0) { MAT_IDN(parent_xform); getTransformation(xform_de->xform(), parent_xform); - matmult(parent_xform, xform, out_xform); + bn_mat_mul(out_xform, parent_xform, xform); } else { MAT_COPY(out_xform, xform); } |