source: trunk/packages/vizservers/nanovis/Mat4x4.h @ 1028

Last change on this file since 1028 was 1028, checked in by gah, 13 years ago

various cleanups

File size: 950 bytes
Line 
1
2/*
3 * ----------------------------------------------------------------------
4 * Mat4x4.h: Mat4x4 class
5 *
6 * ======================================================================
7 *  AUTHOR:  Wei Qiao <qiaow@purdue.edu>
8 *           Purdue Rendering and Perceptualization Lab (PURPL)
9 *
10 *  Copyright (c) 2004-2006  Purdue Research Foundation
11 *
12 *  See the file "license.terms" for information on usage and
13 *  redistribution of this file, and for a DISCLAIMER OF ALL WARRANTIES.
14 * ======================================================================
15 */
16#ifndef _MAT4X4_H_
17#define _MAT4X4_H_
18
19#include "Vector4.h"
20
21class Mat4x4 
22{
23       
24public:
25    float m[16];        //row by row
26    Mat4x4() {
27        /*empty*/
28    };
29    Mat4x4(float *vals);
30
31    void print(void);
32    Mat4x4 inverse(void);
33    Mat4x4 transpose(void);
34    Vector4 multiply_row_vector(Vector4 v);
35    Vector4 transform(Vector4 v);
36    Mat4x4 operator*(Mat4x4 op);
37};
38
39#endif
Note: See TracBrowser for help on using the repository browser.