Main Page   Packages   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

jMatrix Class Reference

#include <jMatrix.hpp>

List of all members.

Public Methods

 jMatrix ()
 jMatrix (const jMatrix &obj)
 ~jMatrix ()
void enter (float m00, float m01, float m02, float m03, float m10, float m11, float m12, float m13, float m20, float m21, float m22, float m23, float m30, float m31, float m32, float m33)
void identity ()
void clear ()
void printSelf ()
void add (jMatrix &add)
void subtract (jMatrix &sub)
void mult (jMatrix mult)
void negative ()
void tform (vect3f &point)
void tform (vect3f *point)
jMatrix operator+ (jMatrix &)
jMatrix operator- (jMatrix &)
jMatrix operator- ()
jMatrix operator * (jMatrix &)
void operator+= (jMatrix &)
void operator-= (jMatrix &)
void operator *= (jMatrix &)

Public Attributes

float m [4][4]


Constructor & Destructor Documentation

jMatrix::jMatrix   [inline]
 

Definition at line 36 of file jMatrix.hpp.

00036 {}

jMatrix::jMatrix const jMatrix &    obj
 

Definition at line 73 of file jMatrix.hpp.

00074 {
00075   for (int i = 0; i < 4; i++){
00076     for (int j = 0; j < 4; j++){
00077       m[i][j] = obj.m[i][j];
00078     }
00079   }
00080 }

jMatrix::~jMatrix   [inline]
 

Definition at line 38 of file jMatrix.hpp.

00038 {}


Member Function Documentation

void jMatrix::add jMatrix &    add
 

Definition at line 148 of file jMatrix.hpp.

Referenced by operator+(), and operator+=().

00149 {
00150   int i, j;
00151   for (i = 0; i < 4; i++){
00152     for (j = 0; j < 4; j++){
00153       m[i][j] += add.m[i][j];
00154     }
00155   }
00156 }

void jMatrix::clear  
 

Definition at line 127 of file jMatrix.hpp.

Referenced by mult().

00128 {
00129   int i, j;
00130   for (i = 0; i < 4; i++){
00131     for (j = 0; j < 4; j++)
00132       m[i][j] = 0;
00133   }
00134 }

void jMatrix::enter float    m00,
float    m01,
float    m02,
float    m03,
float    m10,
float    m11,
float    m12,
float    m13,
float    m20,
float    m21,
float    m22,
float    m23,
float    m30,
float    m31,
float    m32,
float    m33
 

Definition at line 84 of file jMatrix.hpp.

00088 {
00089   m[0][0] = m00;
00090   m[0][1] = m01;
00091   m[0][2] = m02;
00092   m[0][3] = m03;
00093   
00094   m[1][0] = m10;
00095   m[1][1] = m11;
00096   m[1][2] = m12;
00097   m[1][3] = m13;
00098   
00099   m[2][0] = m20;
00100   m[2][1] = m21;
00101   m[2][2] = m22;
00102   m[2][3] = m23;
00103   
00104   m[3][0] = m30;
00105   m[3][1] = m31;
00106   m[3][2] = m32;
00107   m[3][3] = m33;
00108 }

void jMatrix::identity  
 

Definition at line 112 of file jMatrix.hpp.

Referenced by jMatrixStack::jMatrixStack(), jMatrixStack::rotxdeg(), jMatrixStack::rotxrad(), jMatrixStack::rotydeg(), jMatrixStack::rotyrad(), jMatrixStack::rotzdeg(), jMatrixStack::rotzrad(), jMatrixStack::scale(), and jMatrixStack::trans().

00113 {
00114   int i, j;
00115   for (i = 0; i < 4; i++){
00116     for (j = 0; j < 4; j++){
00117       if (i == j)
00118    m[i][j] = 1;
00119       else
00120    m[i][j] = 0;
00121     }
00122   }
00123 }

void jMatrix::mult jMatrix    mult
 

Definition at line 172 of file jMatrix.hpp.

Referenced by operator *(), and operator *=().

00173 {
00174   jMatrix tmp(*this);
00175   clear();
00176   
00177   int i, j, k;
00178   for (i = 0; i < 4; i++){
00179     for (j = 0; j < 4; j++){
00180       
00181       for (k = 0; k < 4; k++)
00182    m[i][j] += tmp.m[i][k] * mult.m[k][j];
00183       
00184     }
00185   }
00186 }

void jMatrix::negative  
 

Definition at line 190 of file jMatrix.hpp.

Referenced by operator-().

00191 {
00192   int i, j;
00193   for (i = 0; i < 4; i++){
00194     for (j = 0; j < 4; j++){
00195       m[i][j] = -m[i][j];
00196     }
00197   }
00198 }

jMatrix jMatrix::operator * jMatrix &    obj
 

Definition at line 257 of file jMatrix.hpp.

00258 {
00259   jMatrix tmp(*this);
00260   tmp.mult(obj);
00261   return (tmp);
00262 }

void jMatrix::operator *= jMatrix &    obj
 

Definition at line 280 of file jMatrix.hpp.

00281 {
00282   mult(obj);
00283 }

jMatrix jMatrix::operator+ jMatrix &    obj
 

Definition at line 230 of file jMatrix.hpp.

00231 {
00232   jMatrix tmp(*this);
00233   tmp.add(obj);
00234   return (tmp);
00235 }

void jMatrix::operator+= jMatrix &    obj
 

Definition at line 266 of file jMatrix.hpp.

00267 {
00268   add(obj);
00269 }

jMatrix jMatrix::operator-  
 

Definition at line 248 of file jMatrix.hpp.

00249 {
00250   jMatrix tmp(*this);
00251   tmp.negative();
00252   return (tmp);
00253 }

jMatrix jMatrix::operator- jMatrix &    obj
 

Definition at line 239 of file jMatrix.hpp.

00240 {
00241   jMatrix tmp(*this);
00242   tmp.subtract(obj);
00243   return (tmp);
00244 }

void jMatrix::operator-= jMatrix &    obj
 

Definition at line 273 of file jMatrix.hpp.

00274 {
00275   subtract(obj);
00276 }

void jMatrix::printSelf  
 

Definition at line 138 of file jMatrix.hpp.

00139 {
00140   printf("|  %-+7.2f %-+7.2f %-+7.2f %-+7.2f|\n", m[0][0], m[0][1], m[0][2], m[0][3]);
00141   printf("|  %-+7.2f %-+7.2f %-+7.2f %-+7.2f|\n", m[1][0], m[1][1], m[1][2], m[1][3]);
00142   printf("|  %-+7.2f %-+7.2f %-+7.2f %-+7.2f|\n", m[2][0], m[2][1], m[2][2], m[2][3]);
00143   printf("|  %-+7.2f %-+7.2f %-+7.2f %-+7.2f|\n\n", m[3][0], m[3][1], m[3][2], m[3][3]);
00144 }

void jMatrix::subtract jMatrix &    sub
 

Definition at line 160 of file jMatrix.hpp.

Referenced by operator-(), and operator-=().

00161 {
00162   int i, j;
00163   for (i = 0; i < 4; i++){
00164     for (j = 0; j < 4; j++){
00165       m[i][j] -= sub.m[i][j];
00166     }
00167   }
00168 }

void jMatrix::tform vect3f *    point
 

Definition at line 216 of file jMatrix.hpp.

00217 {
00218   float w;
00219   vect3f tmp(*point);
00220   
00221   w = m[3][0] * tmp[0] + m[3][1] * tmp[1] + m[3][2] * tmp[2] + m[3][3];
00222   
00223   for (int i = 0; i < 3; i++)
00224     point->v[i] = (m[i][0] * tmp[0] + m[i][1] * tmp[1] + m[i][2] * tmp[2] + m[i][3]) / w;
00225   
00226 }

void jMatrix::tform vect3f &    point
 

Definition at line 202 of file jMatrix.hpp.

00203 {
00204   float w;
00205   vect3f tmp(point);
00206   
00207   w = m[3][0] * tmp[0] + m[3][1] * tmp[1] + m[3][2] * tmp[2] + m[3][3];
00208   
00209   for (int i = 0; i < 3; i++)
00210     point[i] = (m[i][0] * tmp[0] + m[i][1] * tmp[1] + m[i][2] * tmp[2] + m[i][3]) / w;
00211   
00212 }


Member Data Documentation

float jMatrix::m[4][4]
 

Definition at line 41 of file jMatrix.hpp.

Referenced by add(), jMatrix(), mult(), jMatrixStack::rotxdeg(), jMatrixStack::rotxrad(), jMatrixStack::rotydeg(), jMatrixStack::rotyrad(), jMatrixStack::rotzdeg(), jMatrixStack::rotzrad(), jMatrixStack::scale(), subtract(), and jMatrixStack::trans().


The documentation for this class was generated from the following file:
Generated on Sun Oct 14 18:48:50 2001 for Standard J2K Library by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001