148void Matrix4::Scale(
const float& p_x,
const float& p_y,
const float& p_z);
4x4 Matrix class with virtual interface for manipulation and transformation.
virtual float(* GetData())[4]
Gets modifiable access to the 4x4 float matrix.
virtual Matrix4 & operator+=(float(*p_data)[4])
In-place matrix addition with external float[4][4].
virtual void SetData(float(*p_data)[4])
Set this matrix instance to use/point to a new 4x4 data block.
virtual void Clear()
Sets every element of the matrix to zero.
virtual float * Element(int p_row, int p_col)
Accesses an individual element of the matrix in writable form.
virtual void SetTranslation(const float &p_x, const float &p_y, const float &p_z)
Overwrites the translation part of the matrix (last column).
void RotateY(const float &p_angle)
Applies a rotation (in radians or degrees, depending on implementation) about the Y axis.
virtual void Equals(float(*p_data)[4])
Set the matrix elements from a 4x4 float array.
virtual void TranslateBy(const float &p_x, const float &p_y, const float &p_z)
Applies translation by amounts along X, Y, Z axes.
void Swap(int p_d1, int p_d2)
Swaps the data between two rows/columns (presumably).
void RotateX(const float &p_angle)
Applies a rotation (in radians or degrees, depending on implementation) about the X axis.
virtual void ToQuaternion(Vector4 &p_resultQuat)
Converts the 3x3 rotation part of this matrix to a quaternion (Vector4).
void Scale(const float &p_x, const float &p_y, const float &p_z)
Applies scaling factors along X, Y, and Z axes.
void RotateZ(const float &p_angle)
Applies a rotation (in radians or degrees) about the Z axis.
virtual void Product(float(*p_a)[4], float(*p_b)[4])
Multiplies two 4x4 float matrices, storing result in this.
virtual void SetIdentity()
Sets this matrix to identity (diagonal 1, others 0).
virtual int FromQuaternion(const Vector4 &p_vec)
Initializes the matrix from a quaternion (Vector4).
virtual void operator=(const Matrix4 &p_matrix)
Assign/copy another matrix's values into this one.
int BETA_1005a590(Matrix4 &p_mat)
[AI] Appears to perform some operation using another matrix, but function/purpose unknown.
[AI] A four-dimensional vector, supporting operations relevant for matrix and quaternion math (homoge...
Matrix-like wrapper of 4x4 float array, with no methods.