23 #ifndef INCLUDED_MATRIX3D 24 #define INCLUDED_MATRIX3D 59 float a11,
float a12,
float a13,
float a14,
60 float a21,
float a22,
float a23,
float a24,
61 float a31,
float a32,
float a33,
float a34,
62 float a41,
float a42,
float a43,
float a44) :
73 _13(data[8]),
_23(data[9]),
_33(data[10]),
_43(data[11]),
74 _14(data[12]),
_24(data[13]),
_34(data[14]),
_44(data[15])
84 return _data[row*4+col];
88 return _data[row*4+col];
177 return !(*
this == m);
185 void SetOrtho(
float l,
float r,
float b,
float t,
float n,
float f);
190 (*this) = m * (*this);
236 void Translate(
float x,
float y,
float z);
243 void SetScaling(
float x_scale,
float y_scale,
float z_scale);
246 void Scale(
float x_scale,
float y_scale,
float z_scale);
void Transform(const CVector4D &vector, CVector4D &result) const
Definition: Matrix3D.h:294
void Translate(float x, float y, float z)
Definition: Matrix3D.cpp:172
float _21
Definition: Matrix3D.h:42
void SetZRotation(float angle)
Definition: Matrix3D.cpp:83
float GetYRotation() const
Definition: Matrix3D.cpp:403
void SetTranslation(float x, float y, float z)
Definition: Matrix3D.cpp:158
CMatrix3D & operator+=(const CMatrix3D &m)
Definition: Matrix3D.h:156
float _22
Definition: Matrix3D.h:43
float _12
Definition: Matrix3D.h:43
CMatrix3D()
Definition: Matrix3D.h:54
float _44
Definition: Matrix3D.h:45
void SetYRotation(float angle)
Definition: Matrix3D.cpp:72
CMatrix3D(float a11, float a12, float a13, float a14, float a21, float a22, float a23, float a24, float a31, float a32, float a33, float a34, float a41, float a42, float a43, float a44)
Definition: Matrix3D.h:58
void SetZero()
Definition: Matrix3D.cpp:39
CMatrix3D operator*(const CMatrix3D &matrix) const
Definition: Matrix3D.h:101
float _43
Definition: Matrix3D.h:44
Definition: Vector3D.h:28
CVector3D Transform(const CVector3D &vector) const
Definition: Matrix3D.h:272
CVector3D Rotate(const CVector3D &vector) const
Definition: Matrix3D.h:303
CMatrix3D GetTranspose() const
Definition: Matrix3D.cpp:230
float _32
Definition: Matrix3D.h:43
float _11
Definition: Matrix3D.h:42
void Rotate(const CQuaternion &quat)
Definition: Matrix3D.cpp:354
float & operator[](int idx)
Definition: Matrix3D.h:91
CMatrix3D operator*(float f) const
Definition: Matrix3D.h:134
float Y
Definition: Vector4D.h:128
CMatrix3D operator+(const CMatrix3D &m) const
Definition: Matrix3D.h:145
CMatrix3D & operator*=(const CMatrix3D &matrix)
Definition: Matrix3D.h:127
Definition: Vector4D.h:28
bool operator==(const CMatrix3D &m) const
Definition: Matrix3D.h:166
void PostTranslate(float x, float y, float z)
Definition: Matrix3D.cpp:186
float _33
Definition: Matrix3D.h:44
Definition: Matrix3D.h:33
CVector3D GetIn() const
Definition: Matrix3D.cpp:253
void SetRotation(const CQuaternion &quat)
Definition: Matrix3D.cpp:398
void RotateY(float angle)
Definition: Matrix3D.cpp:117
bool operator!=(const CMatrix3D &m) const
Definition: Matrix3D.h:175
float Z
Definition: Vector4D.h:128
float X
Definition: Vector3D.h:31
float Y
Definition: Vector3D.h:31
float _13
Definition: Matrix3D.h:44
float _data2d[4][4]
Definition: Matrix3D.h:48
float _31
Definition: Matrix3D.h:42
void Scale(float x_scale, float y_scale, float z_scale)
Definition: Matrix3D.cpp:210
float & operator()(int col, int row)
Definition: Matrix3D.h:82
void SetIdentity()
Definition: Matrix3D.cpp:30
float _42
Definition: Matrix3D.h:43
void RotateTransposed(const CVector3D &vector, CVector3D &result) const
Definition: Matrix3D.cpp:269
const float & operator()(int col, int row) const
Definition: Matrix3D.h:86
float _24
Definition: Matrix3D.h:45
CMatrix3D(float data[])
Definition: Matrix3D.h:70
float _34
Definition: Matrix3D.h:45
CVector4D Transform(const CVector4D &vector) const
Definition: Matrix3D.h:287
void Rotate(const CVector3D &vector, CVector3D &result) const
Definition: Matrix3D.h:310
void Concatenate(const CMatrix3D &m)
Definition: Matrix3D.h:188
float W
Definition: Vector4D.h:128
Definition: Quaternion.h:24
float _23
Definition: Matrix3D.h:44
const float & operator[](int idx) const
Definition: Matrix3D.h:95
void SetScaling(float x_scale, float y_scale, float z_scale)
Definition: Matrix3D.cpp:201
float _data[16]
Definition: Matrix3D.h:47
void SetXRotation(float angle)
Definition: Matrix3D.cpp:61
CVector3D GetLeft() const
Definition: Matrix3D.cpp:241
float Z
Definition: Vector3D.h:31
void Transform(const CVector3D &vector, CVector3D &result) const
Definition: Matrix3D.h:279
CVector3D GetUp() const
Definition: Matrix3D.cpp:247
void SetOrtho(float l, float r, float b, float t, float n, float f)
Definition: Matrix3D.cpp:47
void Blend(const CMatrix3D &m, float f)
Definition: Matrix3D.h:194
CVector3D GetTranslation() const
Definition: Matrix3D.cpp:195
void RotateZ(float angle)
Definition: Matrix3D.cpp:137
float _41
Definition: Matrix3D.h:42
void AddBlend(const CMatrix3D &m, float f)
Definition: Matrix3D.h:203
void RotateX(float angle)
Definition: Matrix3D.cpp:97
CQuaternion GetRotation() const
Definition: Matrix3D.cpp:360
CMatrix3D GetInverse() const
Definition: Matrix3D.cpp:347
float X
Definition: Vector4D.h:128
float _14
Definition: Matrix3D.h:45