subatomic 2003/04/10 21:16:09 PDT
Modified files:
modules/GMTL ChangeLog
modules/GMTL/Test/TestSuite/TestCases SConscript
modules/GMTL/gmtl Generate.h Matrix.h MatrixOps.h
Added files:
modules/GMTL/Test/TestSuite/TestCases
MatrixStateTrackingTest.cpp
MatrixStateTrackingTest.h
Log:
Added Matrix state tracking. Now, any matrix operation will update the state of the matrix (AFFINE, ORTHOGONAL, FULL, TRANS, IDENT), allowing the most
optimal methods to be used in any given matrix operation.
Optimizations in this change include ones for matrix invert(). To facilitate this, invert() chooses between one of invertFull, invertAffine,
invertOrtho, or invertTrans based on matrix state.
One warning is for anyone implementing their own matrix methods. They must now track the matrix state, or gmtl will not work correctly for you with
regard to matrices.
PLEASE NOTE:
- I've checked in tests, but everyone try to break this, since it is a pretty fundamental change.
- Also, pay attention to any speed difference, and email back the ggt list with your results.
- If you ever add a new matrix function, be sure to add your test to the new testsuite for state tracking.
Revision Changes Path
1.75 +6 -0 GGT/modules/GMTL/ChangeLog
1.1 +820 -0 GGT/modules/GMTL/Test/TestSuite/TestCases/MatrixStateTrackingTest.cpp (new)
1.1 +55 -0 GGT/modules/GMTL/Test/TestSuite/TestCases/MatrixStateTrackingTest.h (new)
1.10 +1 -0 GGT/modules/GMTL/Test/TestSuite/TestCases/SConscript
1.73 +59 -22 GGT/modules/GMTL/gmtl/Generate.h
1.28 +151 -12 GGT/modules/GMTL/gmtl/Matrix.h
1.31 +158 -4 GGT/modules/GMTL/gmtl/MatrixOps.h
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/ggt/GGT/modules/GMTL/ChangeLog.diff?r1=1.74&r2=1.75&diff_format=l
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/ggt/GGT/modules/GMTL/Test/TestSuite/TestCases/MatrixStateTrackingTest.cpp?rev=1.1&content-type=text/plain
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/ggt/GGT/modules/GMTL/Test/TestSuite/TestCases/MatrixStateTrackingTest.h?rev=1.1&content-type=text/plain
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/ggt/GGT/modules/GMTL/Test/TestSuite/TestCases/SConscript.diff?r1=1.9&r2=1.10&diff_format=l
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/ggt/GGT/modules/GMTL/gmtl/Generate.h.diff?r1=1.72&r2=1.73&diff_format=l
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/ggt/GGT/modules/GMTL/gmtl/Matrix.h.diff?r1=1.27&r2=1.28&diff_format=l
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/ggt/GGT/modules/GMTL/gmtl/MatrixOps.h.diff?r1=1.30&r2=1.31&diff_format=l
|