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
opmatrix3.cpp File Reference
#include <math.h>
#include <float.h>
#include "cmd/collide2/opcodesysdef.h"
#include "cmd/collide2/opcodeqint.h"
#include "opmatrix3.h"
#include "gfx/quaternion.h"

Go to the source code of this file.

Functions

csMatrix3 operator+ (const csMatrix3 &m1, const csMatrix3 &m2)
 
csMatrix3 operator- (const csMatrix3 &m1, const csMatrix3 &m2)
 
csMatrix3 operator* (const csMatrix3 &m1, const csMatrix3 &m2)
 
csMatrix3 operator* (const csMatrix3 &m, float f)
 
csMatrix3 operator* (float f, const csMatrix3 &m)
 
csMatrix3 operator/ (const csMatrix3 &m, float f)
 
bool operator== (const csMatrix3 &m1, const csMatrix3 &m2)
 
bool operator!= (const csMatrix3 &m1, const csMatrix3 &m2)
 
bool operator< (const csMatrix3 &m, float f)
 
bool operator> (float f, const csMatrix3 &m)
 

Function Documentation

bool operator!= ( const csMatrix3 m1,
const csMatrix3 m2 
)

Definition at line 201 of file opmatrix3.cpp.

References csMatrix3::m11, csMatrix3::m12, csMatrix3::m13, csMatrix3::m21, csMatrix3::m22, csMatrix3::m23, csMatrix3::m31, csMatrix3::m32, and csMatrix3::m33.

202 {
203  if (m1.m11 != m2.m11 || m1.m12 != m2.m12 || m1.m13 != m2.m13) return true;
204  if (m1.m21 != m2.m21 || m1.m22 != m2.m22 || m1.m23 != m2.m23) return true;
205  if (m1.m31 != m2.m31 || m1.m32 != m2.m32 || m1.m33 != m2.m33) return true;
206  return false;
207 }
csMatrix3 operator* ( const csMatrix3 m1,
const csMatrix3 m2 
)

Definition at line 157 of file opmatrix3.cpp.

References csMatrix3::m11, csMatrix3::m12, csMatrix3::m13, csMatrix3::m21, csMatrix3::m22, csMatrix3::m23, csMatrix3::m31, csMatrix3::m32, and csMatrix3::m33.

158 {
159  return csMatrix3 (
160  m1.m11*m2.m11 + m1.m12*m2.m21 + m1.m13*m2.m31,
161  m1.m11*m2.m12 + m1.m12*m2.m22 + m1.m13*m2.m32,
162  m1.m11*m2.m13 + m1.m12*m2.m23 + m1.m13*m2.m33,
163  m1.m21*m2.m11 + m1.m22*m2.m21 + m1.m23*m2.m31,
164  m1.m21*m2.m12 + m1.m22*m2.m22 + m1.m23*m2.m32,
165  m1.m21*m2.m13 + m1.m22*m2.m23 + m1.m23*m2.m33,
166  m1.m31*m2.m11 + m1.m32*m2.m21 + m1.m33*m2.m31,
167  m1.m31*m2.m12 + m1.m32*m2.m22 + m1.m33*m2.m32,
168  m1.m31*m2.m13 + m1.m32*m2.m23 + m1.m33*m2.m33 );
169 }
csMatrix3 operator* ( const csMatrix3 m,
float  f 
)

Definition at line 171 of file opmatrix3.cpp.

References csMatrix3::m11, csMatrix3::m12, csMatrix3::m13, csMatrix3::m21, csMatrix3::m22, csMatrix3::m23, csMatrix3::m31, csMatrix3::m32, and csMatrix3::m33.

172 {
173  return csMatrix3 (m.m11*f, m.m12*f, m.m13*f,
174  m.m21*f, m.m22*f, m.m23*f,
175  m.m31*f, m.m32*f, m.m33*f);
176 }
csMatrix3 operator* ( float  f,
const csMatrix3 m 
)

Definition at line 178 of file opmatrix3.cpp.

References csMatrix3::m11, csMatrix3::m12, csMatrix3::m13, csMatrix3::m21, csMatrix3::m22, csMatrix3::m23, csMatrix3::m31, csMatrix3::m32, and csMatrix3::m33.

179 {
180  return csMatrix3 (m.m11*f, m.m12*f, m.m13*f,
181  m.m21*f, m.m22*f, m.m23*f,
182  m.m31*f, m.m32*f, m.m33*f);
183 }
csMatrix3 operator+ ( const csMatrix3 m1,
const csMatrix3 m2 
)

Definition at line 144 of file opmatrix3.cpp.

References csMatrix3::m11, csMatrix3::m12, csMatrix3::m13, csMatrix3::m21, csMatrix3::m22, csMatrix3::m23, csMatrix3::m31, csMatrix3::m32, and csMatrix3::m33.

145 {
146  return csMatrix3 (m1.m11+m2.m11, m1.m12+m2.m12, m1.m13+m2.m13,
147  m1.m21+m2.m21, m1.m22+m2.m22, m1.m23+m2.m23,
148  m1.m31+m2.m31, m1.m32+m2.m32, m1.m33+m2.m33);
149 }
csMatrix3 operator- ( const csMatrix3 m1,
const csMatrix3 m2 
)

Definition at line 151 of file opmatrix3.cpp.

References csMatrix3::m11, csMatrix3::m12, csMatrix3::m13, csMatrix3::m21, csMatrix3::m22, csMatrix3::m23, csMatrix3::m31, csMatrix3::m32, and csMatrix3::m33.

152 {
153  return csMatrix3 (m1.m11-m2.m11, m1.m12-m2.m12, m1.m13-m2.m13,
154  m1.m21-m2.m21, m1.m22-m2.m22, m1.m23-m2.m23,
155  m1.m31-m2.m31, m1.m32-m2.m32, m1.m33-m2.m33);
156 }
csMatrix3 operator/ ( const csMatrix3 m,
float  f 
)

Definition at line 185 of file opmatrix3.cpp.

References csMatrix3::m11, csMatrix3::m12, csMatrix3::m13, csMatrix3::m21, csMatrix3::m22, csMatrix3::m23, csMatrix3::m31, csMatrix3::m32, and csMatrix3::m33.

186 {
187  float inv_f = 1 / f;
188  return csMatrix3 (m.m11*inv_f, m.m12*inv_f, m.m13*inv_f,
189  m.m21*inv_f, m.m22*inv_f, m.m23*inv_f,
190  m.m31*inv_f, m.m32*inv_f, m.m33*inv_f);
191 }
bool operator< ( const csMatrix3 m,
float  f 
)

Definition at line 209 of file opmatrix3.cpp.

References ABS, csMatrix3::m11, csMatrix3::m12, csMatrix3::m13, csMatrix3::m21, csMatrix3::m22, csMatrix3::m23, csMatrix3::m31, csMatrix3::m32, and csMatrix3::m33.

210 {
211  return ABS(m.m11)<f && ABS(m.m12)<f && ABS(m.m13)<f &&
212  ABS(m.m21)<f && ABS(m.m22)<f && ABS(m.m23)<f &&
213  ABS(m.m31)<f && ABS(m.m32)<f && ABS(m.m33)<f;
214 }
bool operator== ( const csMatrix3 m1,
const csMatrix3 m2 
)

Definition at line 193 of file opmatrix3.cpp.

References csMatrix3::m11, csMatrix3::m12, csMatrix3::m13, csMatrix3::m21, csMatrix3::m22, csMatrix3::m23, csMatrix3::m31, csMatrix3::m32, and csMatrix3::m33.

194 {
195  if (m1.m11 != m2.m11 || m1.m12 != m2.m12 || m1.m13 != m2.m13) return false;
196  if (m1.m21 != m2.m21 || m1.m22 != m2.m22 || m1.m23 != m2.m23) return false;
197  if (m1.m31 != m2.m31 || m1.m32 != m2.m32 || m1.m33 != m2.m33) return false;
198  return true;
199 }
bool operator> ( float  f,
const csMatrix3 m 
)

Definition at line 216 of file opmatrix3.cpp.

References ABS, csMatrix3::m11, csMatrix3::m12, csMatrix3::m13, csMatrix3::m21, csMatrix3::m22, csMatrix3::m23, csMatrix3::m31, csMatrix3::m32, and csMatrix3::m33.

217 {
218  return ABS(m.m11)<f && ABS(m.m12)<f && ABS(m.m13)<f &&
219  ABS(m.m21)<f && ABS(m.m22)<f && ABS(m.m23)<f &&
220  ABS(m.m31)<f && ABS(m.m32)<f && ABS(m.m33)<f;
221 }