source: branches/blt4/packages/vizservers/nanovis/Mat4x4.h @ 2936

Last change on this file since 2936 was 2936, checked in by gah, 12 years ago

sync back with trunk

File size: 1.0 KB
Line 
1/* -*- mode: c++; c-basic-offset: 4; indent-tabs-mode: nil -*- */
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{
23public:
24    float m[16];        //row by row
25
26    Mat4x4()
27    {}
28
29    Mat4x4(float *vals);
30
31    void print() const;
32
33    Mat4x4 inverse() const;
34
35    Mat4x4 transpose() const;
36
37    Vector4 multiply_row_vector(const Vector4& v) const;
38
39    Vector4 transform(const Vector4& v) const;
40
41    Mat4x4 operator*(const Mat4x4& op) const;
42};
43
44#endif
Note: See TracBrowser for help on using the repository browser.