home *** CD-ROM | disk | FTP | other *** search
- /*
- * $Id: matrix.h,v 1.1.1.1 2000/04/07 19:44:51 tfrieden Exp $
- *
- * $Date: 2000/04/07 19:44:51 $
- * $Revision: 1.1.1.1 $
- *
- * (C) 1999 by Hyperion
- * All rights reserved
- *
- * This file is part of the MiniGL library project
- * See the file Licence.txt for more details
- *
- */
-
- #ifndef _MATRIX_H
- #define _MATRIX_H
-
- typedef struct Matrix_t
- {
- float v[16];
- int flags; // Matrix flags
- struct Matrix_t *Inverse; // optional inverse
- } Matrix;
-
- #define OF_11 0
- #define OF_12 4
- #define OF_13 8
- #define OF_14 12
-
- #define OF_21 1
- #define OF_22 5
- #define OF_23 9
- #define OF_24 13
-
- #define OF_31 2
- #define OF_32 6
- #define OF_33 10
- #define OF_34 14
-
- #define OF_41 3
- #define OF_42 7
- #define OF_43 11
- #define OF_44 15
-
-
-
-
- #define MGLMAT_IDENTITY 0x01
- #define MGLMAT_ROTATION 0x02
- #define MGLMAT_TRANSLATION 0x04
- #define MGLMAT_UNIFORM_SCALE 0x08
- #define MGLMAT_GENERAL_SCALE 0x10
- #define MGLMAT_PERSPECTIVE 0x20
- #define MGLMAT_GENERAL 0x40
- #define MGLMAT_GENERAL_3D 0x80
- #define MGLMAT_ORTHO 0x100
- #define MGLMAT_0001 0x200
-
- #define MGLMASK_0001 (MGLMAT_IDENTITY|MGLMAT_ROTATION|\
- MGLMAT_TRANSLATION|MGLMAT_UNIFORM_SCALE|MGLMAT_GENERAL_SCALE|MGLMAT_0001)
-
- #endif
-