diff options
author | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2012-11-02 14:25:59 +0000 |
---|---|---|
committer | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2012-11-02 14:25:59 +0000 |
commit | 2c0b722536a4ec2f723c289b695b983741c678f8 (patch) | |
tree | 650e06f5837b7995a60bf51b47f5ec9de4ee9ebe /packages/noncvs/windows/extra/Gem/dev/Utils/Matrix.h | |
parent | 69101e6e7eb00acaee619d4aa815d4a85925cc60 (diff) |
commit windows binaries from old rsync auto-build setup, including Gem 0.93.1
svn path=/trunk/; revision=16520
Diffstat (limited to 'packages/noncvs/windows/extra/Gem/dev/Utils/Matrix.h')
-rw-r--r-- | packages/noncvs/windows/extra/Gem/dev/Utils/Matrix.h | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/packages/noncvs/windows/extra/Gem/dev/Utils/Matrix.h b/packages/noncvs/windows/extra/Gem/dev/Utils/Matrix.h new file mode 100644 index 00000000..9b373bee --- /dev/null +++ b/packages/noncvs/windows/extra/Gem/dev/Utils/Matrix.h @@ -0,0 +1,78 @@ +/*----------------------------------------------------------------- +LOG + GEM - Graphics Environment for Multimedia + + Matrix class + + Copyright (c) 1997-1999 Mark Danks. mark@danks.org + Copyright (c) Günther Geiger. geiger@epy.co.at + Copyright (c) 2001-2011 IOhannes m zmölnig. forum::für::umläute. IEM. zmoelnig@iem.at + For information on usage and redistribution, and for a DISCLAIMER OF ALL + WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution. + +-----------------------------------------------------------------*/ + +#ifndef _INCLUDE__GEM_UTILS_MATRIX_H_ +#define _INCLUDE__GEM_UTILS_MATRIX_H_ + +#include "Gem/ExportDef.h" + +/*----------------------------------------------------------------- +------------------------------------------------------------------- +CLASS + Matrix + + 4x4 Matrix class + +DESCRIPTION + + Post-concatenation + Column-major + +-----------------------------------------------------------------*/ +class GEM_EXTERN Matrix +{ + public: + + ////////// + // Constructor + // Sets the matrix to identity + Matrix(void); + + ////////// + // Set the matrix to the identity + void identity(void); + + ////////// + // Post mulitply the matrix + void multiply(Matrix *pMatrix); + + ////////// + void scale(float x, float y, float z); + + ////////// + void translate(float x, float y, float z); + + ////////// + void rotateX(float degrees); + + ////////// + void rotateY(float degrees); + + ////////// + void rotateZ(float degrees); + + ////////// + void transform(float srcX, float srcY, float srcZ, float *dstX, float *dstY, float *dstZ) const; + + ////////// + // The actual matrix values + float mat[4][4]; + + ////////// + // Utility functions + static void generateNormal(const float *v1, const float *v2, const float *v3, float *dst); +}; + + +#endif // for header file |