2#include "utilities/Quaternion.hpp"
3#include "utilities/Vector4.hpp"
5namespace StevEngine::Utilities {
99 explicit operator std::string()
const;
100 const float*
data()
const;
153 static Matrix4 FromOrthographic(
float left,
float right,
float bottom,
float top,
float clipNear,
float clipFar);
static Matrix4 FromScale(const Vector3 &scale)
Create scale matrix.
Definition Matrix4.cpp:254
static Matrix4 FromTranslationRotationScale(const Vector3 &position, const Quaternion &rotation, const Vector3 &scale)
Create combined TRS matrix.
Definition Matrix4.cpp:262
bool operator==(const Matrix4 &other) const
Equality comparison.
Definition Matrix4.cpp:208
static Matrix4 FromTranslation(const Vector3 &position)
Create translation matrix.
Definition Matrix4.cpp:238
static Matrix4 FromPerspective(float fovx, float aspect, float clipNear, float clipFar)
Create perspective projection.
Definition Matrix4.cpp:288
static const Matrix4 identity
Identity matrix.
Definition Matrix4.hpp:166
static const Matrix4 zero
Zero matrix.
Definition Matrix4.hpp:167
static Matrix4 FromOrthographic(float width, float height, float clipNear, float clipFar)
Create orthographic projection.
Definition Matrix4.cpp:272
Matrix4 operator*(const Matrix4 &matrix) const
Matrix multiplication.
Definition Matrix4.cpp:174
Matrix4 & Transpose()
Transpose this matrix.
Definition Matrix4.cpp:148
Vector4 GetRow(int i) const
Get row vector.
Definition Matrix4.cpp:44
Vector4 GetColumn(int i) const
Get column vector.
Definition Matrix4.cpp:47
static Matrix4 FromRotation(const Quaternion &rotation)
Create rotation matrix.
Definition Matrix4.cpp:246
const float * data() const
Get raw float array.
Definition Matrix4.cpp:228
Matrix4 & operator=(const Matrix4 &other)
Assignment.
Definition Matrix4.cpp:166
Matrix4 operator/(const double &value) const
Scalar division.
Definition Matrix4.cpp:199
Matrix4(double data[4][4])
Create matrix from raw 4x4 array.
Definition Matrix4.cpp:12
double GetDeterminant() const
Calculate matrix determinant.
Definition Matrix4.cpp:64
Matrix4()
Create identity matrix.
Definition Matrix4.cpp:42
Matrix4 & Inverse()
Invert this matrix.
Definition Matrix4.cpp:93
Quaternion for 3D rotations.
Definition Quaternion.hpp:19
3D vector class
Definition Vector3.hpp:19
4D vector class
Definition Vector4.hpp:14