From 2c0b722536a4ec2f723c289b695b983741c678f8 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Fri, 2 Nov 2012 14:25:59 +0000 Subject: commit windows binaries from old rsync auto-build setup, including Gem 0.93.1 svn path=/trunk/; revision=16520 --- .../noncvs/windows/extra/Gem/dev/Utils/Matrix.h | 78 ++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 packages/noncvs/windows/extra/Gem/dev/Utils/Matrix.h (limited to 'packages/noncvs/windows/extra/Gem/dev/Utils/Matrix.h') 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 -- cgit v1.2.1