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

Last change on this file since 3452 was 3177, checked in by mmc, 12 years ago

Updated all of the copyright notices to reference the transfer to
the new HUBzero Foundation, LLC.

  • Property svn:eol-style set to native
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-2012  HUBzero Foundation, LLC
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 multiplyRowVector(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.