From: <ag...@us...> - 2011-11-09 17:14:55
|
Revision: 2604 http://zoolib.svn.sourceforge.net/zoolib/?rev=2604&view=rev Author: agreen Date: 2011-11-09 17:14:49 +0000 (Wed, 09 Nov 2011) Log Message: ----------- Add sShear. Modified Paths: -------------- trunk/zoolib/source/cxx/more/zoolib/gameengine/ZGameEngine_Geometry.h Modified: trunk/zoolib/source/cxx/more/zoolib/gameengine/ZGameEngine_Geometry.h =================================================================== --- trunk/zoolib/source/cxx/more/zoolib/gameengine/ZGameEngine_Geometry.h 2011-10-31 20:28:34 UTC (rev 2603) +++ trunk/zoolib/source/cxx/more/zoolib/gameengine/ZGameEngine_Geometry.h 2011-11-09 17:14:49 UTC (rev 2604) @@ -203,8 +203,8 @@ template <class Val> ZMatrix<Val,4,4> sRotateX(Val radians) { - Val s = sin(radians); - Val c = cos(radians); + const Val s = sin(radians); + const Val c = cos(radians); ZMatrix<Val,4,4> result; result.fE[0][0] = 1; result.fE[1][1] = c; @@ -222,8 +222,8 @@ template <class Val> ZMatrix<Val,4,4> sRotateY(Val radians) { - Val s = sin(radians); - Val c = cos(radians); + const Val s = sin(radians); + const Val c = cos(radians); ZMatrix<Val,4,4> result; result.fE[0][0] = c; result.fE[1][1] = 1; @@ -241,8 +241,8 @@ template <class Val> ZMatrix<Val,4,4> sRotateZ(Val radians) { - Val s = sin(radians); - Val c = cos(radians); + const Val s = sin(radians); + const Val c = cos(radians); ZMatrix<Val,4,4> result; result.fE[0][0] = c; result.fE[0][1] = s; @@ -253,6 +253,36 @@ return result; } +// ================================================================================================= +#pragma mark - +#pragma mark * sShear + +template <class Val> +ZMatrix<Val,4,4> sShear(Val xy, Val xz, Val yx, Val yz, Val zx, Val zy) + { + ZMatrix<Val,4,4> result(null); + result.fE[0][0] = 1; + result.fE[0][1] = xy; + result.fE[0][2] = xz; + result.fE[0][3] = 0; + + result.fE[1][0] = yx; + result.fE[1][1] = 1; + result.fE[1][2] = yz; + result.fE[1][3] = 0; + + result.fE[2][0] = zx; + result.fE[2][1] = zy; + result.fE[2][2] = 1; + result.fE[2][3] = 0; + + result.fE[3][0] = 0; + result.fE[3][1] = 0; + result.fE[3][2] = 0; + result.fE[3][3] = 1; + return result; + } + } // namespace ZGameEngine } // namespace ZooLib This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |