12 float m11, m12, m13, m14,
24 m21(m.m21), m22(m.m22), m23(m.m23), m24(m.m24),
25 m31(m.m31), m32(m.m32), m33(m.m33), m34(m.m34),
26 m41(m.m41), m42(m.m42), m43(m.m43), m44(m.m44) {}
28 raMatrix(
float _m11,
float _m12,
float _m13,
float _m14,
29 float _m21,
float _m22,
float _m23,
float _m24,
30 float _m31,
float _m32,
float _m33,
float _m34,
31 float _m41,
float _m42,
float _m43,
float _m44) : m11(_m11), m12(_m12), m13(_m13), m14(_m14),
32 m21(_m21), m22(_m22), m23(_m23), m24(_m24),
33 m31(_m31), m32(_m32), m33(_m33), m34(_m34),
34 m41(_m41), m42(_m42), m43(_m43), m44(_m44) {}
36 raMatrix(D3DXMATRIX _mat) : m11(_mat._11), m12(_mat._12), m13(_mat._13), m14(_mat._14),
37 m21(_mat._21), m22(_mat._22), m23(_mat._23), m24(_mat._24),
38 m31(_mat._31), m32(_mat._32), m33(_mat._33), m34(_mat._34),
39 m41(_mat._41), m42(_mat._42), m43(_mat._43), m44(_mat._44) {}
41 operator float* () {
return (
float*)(n);}
42 operator D3DXMATRIX () {
return D3DXMATRIX(m11, m12, m13, m14,
45 m41, m42, m43, m44); }
47 float& operator () (
int iRow,
int iColumn) {
return m[iRow - 1][iColumn - 1];}
48 float operator () (
int iRow,
int iColumn)
const {
return m[iRow - 1][iColumn - 1];}
90 m11 *= f; m12 *= f; m13 *= f; m14 *= f;
91 m21 *= f; m22 *= f; m23 *= f; m24 *= f;
92 m31 *= f; m32 *= f; m33 *= f; m34 *= f;
93 m41 *= f; m42 *= f; m43 *= f; m44 *= f;
104 m11 /= f; m12 /= f; m13 /= f; m14 /= f;
105 m21 /= f; m22 /= f; m23 /= f; m24 /= f;
106 m31 /= f; m32 /= f; m33 /= f; m34 /= f;
107 m41 /= f; m42 /= f; m43 /= f; m44 /= f;
111 inline raMatrix operator + (
const raMatrix& a,
const raMatrix& b) {
return raMatrix(a.
m11 + b.
m11, a.
m12 + b.
m12, a.
m13 + b.
m13, a.
m14 + b.
m14, a.
m21 + b.
m21, a.
m22 + b.
m22, a.
m23 + b.
m23, a.
m24 + b.
m24, a.
m31 + b.
m31, a.
m32 + b.
m32, a.
m33 + b.
m33, a.
m34 + b.
m34, a.
m41 + b.
m41, a.
m42 + b.
m42, a.
m43 + b.
m43, a.
m44 + b.
m44);}
112 inline raMatrix operator - (
const raMatrix& a,
const raMatrix& b) {
return raMatrix(a.
m11 - b.
m11, a.
m12 - b.
m12, a.
m13 - b.
m13, a.
m14 - b.
m14, a.
m21 - b.
m21, a.
m22 - b.
m22, a.
m23 - b.
m23, a.
m24 - b.
m24, a.
m31 - b.
m31, a.
m32 - b.
m32, a.
m33 - b.
m33, a.
m34 - b.
m34, a.
m41 - b.
m41, a.
m42 - b.
m42, a.
m43 - b.
m43, a.
m44 - b.
m44);}
113 inline raMatrix operator - (
const raMatrix& m) {
return raMatrix(-m.
m11, -m.
m12, -m.
m13, -m.
m14, -m.
m21, -m.
m22, -m.
m23, -m.
m24, -m.
m31, -m.
m32, -m.
m33, -m.
m34, -m.
m41, -m.
m42, -m.
m43, -m.
m44);}
169 if(a.
m11 != b.
m11)
return false;
170 if(a.
m12 != b.
m12)
return false;
171 if(a.
m13 != b.
m13)
return false;
172 if(a.
m14 != b.
m14)
return false;
173 if(a.
m21 != b.
m21)
return false;
174 if(a.
m22 != b.
m22)
return false;
175 if(a.
m23 != b.
m23)
return false;
176 if(a.
m24 != b.
m24)
return false;
177 if(a.
m31 != b.
m31)
return false;
178 if(a.
m32 != b.
m32)
return false;
179 if(a.
m33 != b.
m33)
return false;
180 if(a.
m34 != b.
m34)
return false;
181 if(a.
m41 != b.
m41)
return false;
182 if(a.
m42 != b.
m42)
return false;
183 if(a.
m43 != b.
m43)
return false;
191 if(a.
m11 != b.
m11)
return true;
192 if(a.
m12 != b.
m12)
return true;
193 if(a.
m13 != b.
m13)
return true;
194 if(a.
m14 != b.
m14)
return true;
195 if(a.
m21 != b.
m21)
return true;
196 if(a.
m22 != b.
m22)
return true;
197 if(a.
m23 != b.
m23)
return true;
198 if(a.
m24 != b.
m24)
return true;
199 if(a.
m31 != b.
m31)
return true;
200 if(a.
m32 != b.
m32)
return true;
201 if(a.
m33 != b.
m33)
return true;
202 if(a.
m34 != b.
m34)
return true;
203 if(a.
m41 != b.
m41)
return true;
204 if(a.
m42 != b.
m42)
return true;
205 if(a.
m43 != b.
m43)
return true;
211 inline raMatrix raMatrixIdentity() {
return raMatrix(1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f);}
bool operator==(const raMatrix &a, const raMatrix &b)
raMatrix raMatrixIdentity()
raMatrix(float _m11, float _m12, float _m13, float _m14, float _m21, float _m22, float _m23, float _m24, float _m31, float _m32, float _m33, float _m34, float _m41, float _m42, float _m43, float _m44)
bool operator!=(const raMatrix &a, const raMatrix &b)
raMatrix operator*(const raMatrix &a, const raMatrix &b)
RAPI float raMatrixDet(const raMatrix &m, float *pfOut)
raMatrix operator/(const raMatrix &a, const raMatrix &b)
RAPI raMatrix raMatrixScaling(const raVector3 &v)
raMatrix(D3DXMATRIX _mat)
raMatrix(const raMatrix &m)
RAPI raMatrix raMatrixTranslation(const raVector3 &v)
RAPI raMatrix raMatrixRotationX(const float f)
raMatrix operator-(const raMatrix &a, const raMatrix &b)
RAPI raMatrix raMatrixRotationY(const float f)
RAPI raMatrix raMatrixRotationAxis(const raVector3 &v, const float f)
RAPI raMatrix raMatrixRotationZ(const float f)
RAPI raMatrix raMatrixCamera(const raVector3 &vPos, const raVector3 &vLookAt, const raVector3 &vUp=raVector3(0.0f, 1.0f, 0.0f))
RAPI raMatrix raMatrixRotation(const float x, const float y, const float z)
RAPI raMatrix raMatrixTranspose(const raMatrix &m)
RAPI raMatrix raMatrixToTex2DMatrix(const raMatrix &m)
raMatrix operator+(const raMatrix &a, const raMatrix &b)
RAPI raMatrix raMatrixAxes(const raVector3 &vXAxis, const raVector3 &vYAxis, const raVector3 &vZAxis)
RAPI raMatrix raMatrixInvert(const raMatrix &m)
RAPI raMatrix raMatrixProjection(const float fFOV, const float fAspect, const float fNearPlane, const float fFarPlane)