Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Matrix Class Reference

#include <matrix.h>

Public Member Functions

 Matrix ()
 
void netswap ()
 
Vector getR () const
 
Vector getQ () const
 
Vector getP () const
 
 Matrix (float r0, float r1, float r2, float r3, float r4, float r5, float r6, float r7, float r8, QVector pos)
 
void InvertRotationInto (Matrix &result) const
 
 Matrix (const Vector &v1, const Vector &v2, const Vector &v3)
 
 Matrix (const Vector &v1, const Vector &v2, const Vector &v3, const QVector &pos)
 
Matrix operator* (const Matrix &m2) const
 

Public Attributes

float r [9]
 
QVector p
 

Detailed Description

Definition at line 26 of file matrix.h.

Constructor & Destructor Documentation

Matrix::Matrix ( )
inline

Definition at line 34 of file matrix.h.

References r.

34  : p( 0, 0, 0 )
35  {
36  r[0] = r[1] = r[2] = r[3] = r[4] = r[5] = r[6] = r[7] = r[8] = 0;
37  }
Matrix::Matrix ( float  r0,
float  r1,
float  r2,
float  r3,
float  r4,
float  r5,
float  r6,
float  r7,
float  r8,
QVector  pos 
)
inline

Definition at line 58 of file matrix.h.

References p, and r.

59  {
60  r[0] = r0;
61  r[1] = r1;
62  r[2] = r2;
63  r[3] = r3;
64  r[4] = r4;
65  r[5] = r5;
66  r[6] = r6;
67  r[7] = r7;
68  r[8] = r8;
69  p = pos;
70  }
Matrix::Matrix ( const Vector v1,
const Vector v2,
const Vector v3 
)
inline

Definition at line 83 of file matrix.h.

References r.

83  : p( 0, 0, 0 )
84  {
85  this->r[0] = v1.i;
86  this->r[1] = v1.j;
87  this->r[2] = v1.k;
88 
89  this->r[3] = v2.i;
90  this->r[4] = v2.j;
91  this->r[5] = v2.k;
92 
93  this->r[6] = v3.i;
94  this->r[7] = v3.j;
95  this->r[8] = v3.k;
96  }
Matrix::Matrix ( const Vector v1,
const Vector v2,
const Vector v3,
const QVector pos 
)
inline

Definition at line 136 of file matrix.h.

References VectorAndPositionToMatrix().

137 {
138  VectorAndPositionToMatrix( *this, v1, v2, v3, pos );
139 }

Member Function Documentation

void Matrix::InvertRotationInto ( Matrix result) const
inline

Definition at line 71 of file matrix.h.

References r.

Referenced by Unit::reactToCollision().

72  {
73  result.r[0] = r[0];
74  result.r[1] = r[3];
75  result.r[2] = r[6];
76  result.r[3] = r[1];
77  result.r[4] = r[4];
78  result.r[5] = r[7];
79  result.r[6] = r[2];
80  result.r[7] = r[5];
81  result.r[8] = r[8];
82  }
void Matrix::netswap ( )
inline

Definition at line 40 of file matrix.h.

References p, r, and VSSwapHostFloatToLittle().

41  {
42  for (int i = 0; i < 9; i++)
43  r[i] = VSSwapHostFloatToLittle( r[i] );
44  p.netswap();
45  }
Matrix Matrix::operator* ( const Matrix m2) const
inline

Definition at line 233 of file matrix.h.

References MultMatrix().

234 {
235  Matrix res;
236  MultMatrix( res, *this, m2 );
237  return res;
238 }

Member Data Documentation


The documentation for this class was generated from the following file: