![]() |
raylib-cpp
C++ object-oriented wrapper library for raylib.
|
Matrix type (OpenGL style 4x4 - right handed, column major) More...
#include <Matrix.hpp>
Public Member Functions | |
Matrix (const ::Matrix &mat) | |
Matrix (float m0=0, float m4=0, float m8=0, float m12=0, float m1=0, float m5=0, float m9=0, float m13=0, float m2=0, float m6=0, float m10=0, float m14=0, float m3=0, float m7=0, float m11=0, float m15=0) | |
Matrix | Add (const ::Matrix &right) const |
Elementwise matrix addition. More... | |
float | GetM0 () const |
Retrieves the m0 value for the object. More... | |
float | GetM1 () const |
Retrieves the m1 value for the object. More... | |
float | GetM10 () const |
Retrieves the m10 value for the object. More... | |
float | GetM11 () const |
Retrieves the m11 value for the object. More... | |
float | GetM12 () const |
Retrieves the m12 value for the object. More... | |
float | GetM13 () const |
Retrieves the m13 value for the object. More... | |
float | GetM14 () const |
Retrieves the m14 value for the object. More... | |
float | GetM15 () const |
Retrieves the m15 value for the object. More... | |
float | GetM2 () const |
Retrieves the m2 value for the object. More... | |
float | GetM3 () const |
Retrieves the m3 value for the object. More... | |
float | GetM4 () const |
Retrieves the m4 value for the object. More... | |
float | GetM5 () const |
Retrieves the m5 value for the object. More... | |
float | GetM6 () const |
Retrieves the m6 value for the object. More... | |
float | GetM7 () const |
Retrieves the m7 value for the object. More... | |
float | GetM8 () const |
Retrieves the m8 value for the object. More... | |
float | GetM9 () const |
Retrieves the m9 value for the object. More... | |
Matrix | Invert () const |
Inverts provided matrix. More... | |
Matrix | Multiply (const ::Matrix &right) const |
Matrix multiplication. More... | |
operator float16 () | |
bool | operator!= (const ::Matrix &other) |
Matrix | operator* (const ::Matrix &matrix) const |
Matrix multiplication. More... | |
Matrix | operator+ (const ::Matrix &matrix) const |
Elementwise matrix addition. More... | |
Matrix | operator- (const ::Matrix &matrix) const |
Elementwise matrix subtraction. More... | |
Matrix & | operator= (const ::Matrix &matrix) |
Matrix & | operator= (const Matrix &matrix) |
bool | operator== (const ::Matrix &other) |
Matrix | Rotate (GlobalSpace_t, Quaternion quat) const |
Rotates the current matrix in global space around the given quaternion. More... | |
Matrix | Rotate (GlobalSpace_t, Vector3 axis, Radian angle) const |
Rotates the current matrix in global space around the given axis. More... | |
Matrix | Rotate (LocalSpace_t, Quaternion quat) const |
Rotates the current matrix in local space around the given quaternion. More... | |
Matrix | Rotate (LocalSpace_t, Vector3 axis, Radian angle) const |
Rotates the current matrix in local space around the given axis. More... | |
Matrix | Rotate (Quaternion quat) const |
Rotates the current matrix in local space around the given quaternion. More... | |
Matrix | Rotate (Vector3 axis, Radian angle) const |
Rotates the current matrix in local space around the given axis. More... | |
Matrix | RotateX (GlobalSpace_t, Radian angle) const |
Rotates the current matrix in global space around the X axis. More... | |
Matrix | RotateX (LocalSpace_t, Radian angle) const |
Rotates the current matrix in local space around the X axis. More... | |
Matrix | RotateX (Radian angle) const |
Rotates the current matrix in local space around the X axis. More... | |
Matrix | RotateXYZ (GlobalSpace_t, Radian x, Radian y, Radian z) const |
Rotates the current matrix using the provided euler angles in global space. More... | |
Matrix | RotateXYZ (GlobalSpace_t, Vector3 angle) const |
Rotates the current matrix using the provided euler angles in global space. More... | |
Matrix | RotateXYZ (LocalSpace_t, Radian x, Radian y, Radian z) const |
Rotates the current matrix using the provided euler angles in local space. More... | |
Matrix | RotateXYZ (LocalSpace_t, Vector3 angle) const |
Rotates the current matrix using the provided euler angles in local space. More... | |
Matrix | RotateXYZ (Radian x, Radian y, Radian z) const |
Rotates the current matrix using the provided euler angles in local space. More... | |
Matrix | RotateXYZ (Vector3 angle) const |
Rotates the current matrix using the provided euler angles in local space. More... | |
Matrix | RotateY (GlobalSpace_t, Radian angle) const |
Rotates the current matrix in global space around the Y axis. More... | |
Matrix | RotateY (LocalSpace_t, Radian angle) const |
Rotates the current matrix in local space around the Y axis. More... | |
Matrix | RotateY (Radian angle) const |
Rotates the current matrix in local space around the Y axis. More... | |
Matrix | RotateZ (GlobalSpace_t, Radian angle) const |
Rotates the current matrix in global space around the Z axis. More... | |
Matrix | RotateZ (LocalSpace_t, Radian angle) const |
Rotates the current matrix in local space around the Z axis. More... | |
Matrix | RotateZ (Radian angle) const |
Rotates the current matrix in local space around the Z axis. More... | |
Matrix | Scale (float all) const |
Matrix | Scale (float x, float y, float z) const |
Scales the current matrix in local space. More... | |
Matrix | Scale (GlobalSpace_t, float all) const |
Matrix | Scale (GlobalSpace_t, float x, float y, float z) const |
Scales the current matrix in global space. More... | |
Matrix | Scale (LocalSpace_t, float all) const |
Matrix | Scale (LocalSpace_t, float x, float y, float z) const |
Scales the current matrix in local space. More... | |
void | SetM0 (float value) |
Sets the m0 value for the object. More... | |
void | SetM1 (float value) |
Sets the m1 value for the object. More... | |
void | SetM10 (float value) |
Sets the m10 value for the object. More... | |
void | SetM11 (float value) |
Sets the m11 value for the object. More... | |
void | SetM12 (float value) |
Sets the m12 value for the object. More... | |
void | SetM13 (float value) |
Sets the m13 value for the object. More... | |
void | SetM14 (float value) |
Sets the m14 value for the object. More... | |
void | SetM15 (float value) |
Sets the m15 value for the object. More... | |
void | SetM2 (float value) |
Sets the m2 value for the object. More... | |
void | SetM3 (float value) |
Sets the m3 value for the object. More... | |
void | SetM4 (float value) |
Sets the m4 value for the object. More... | |
void | SetM5 (float value) |
Sets the m5 value for the object. More... | |
void | SetM6 (float value) |
Sets the m6 value for the object. More... | |
void | SetM7 (float value) |
Sets the m7 value for the object. More... | |
void | SetM8 (float value) |
Sets the m8 value for the object. More... | |
void | SetM9 (float value) |
Sets the m9 value for the object. More... | |
Matrix & | SetShaderValue (const ::Shader &shader, int uniformLoc) |
Set shader uniform value (matrix 4x4) More... | |
Matrix | Subtract (const ::Matrix &right) const |
Elementwise matrix subtraction. More... | |
float16 | ToFloatV () const |
float | Trace () const |
Returns the trace of the matrix (sum of the values along the diagonal) More... | |
Matrix | Translate (float x, float y, float z) const |
Translates the current matrix in global space. More... | |
Matrix | Translate (GlobalSpace_t, float x, float y, float z) const |
Translates the current matrix in global space. More... | |
Matrix | Translate (GlobalSpace_t, Vector3 translation) const |
Translates the current matrix in global space. More... | |
Matrix | Translate (LocalSpace_t, float x, float y, float z) const |
Translates the current matrix in local space. More... | |
Matrix | Translate (LocalSpace_t, Vector3 translation) const |
Translates the current matrix in local space. More... | |
Matrix | Translate (Vector3 translation) const |
Translates the current matrix in global space. More... | |
Matrix | TranslateToOrigin () const |
Creates a matrix that when multiplied by the current matrix will translate back to the origin (New function not provided by raylib) More... | |
Matrix | Transpose () const |
Transposes provided matrix. More... | |
Static Public Member Functions | |
static Matrix | CreateRotate (Quaternion quat) |
Creates a rotation matrix around the given quaternion. More... | |
static Matrix | CreateRotate (Vector3 axis, Radian angle) |
Creates a rotation matrix around the given axis. More... | |
static Matrix | CreateRotateX (Radian angle) |
Creates a rotation matrix around the X axis. More... | |
static Matrix | CreateRotateXYZ (Radian x, Radian y, Radian z) |
Creates a rotation matrix using the provided euler angles. More... | |
static Matrix | CreateRotateXYZ (Vector3 angle) |
Creates a rotation matrix using the provided euler angles. More... | |
static Matrix | CreateRotateY (Radian angle) |
Creates a rotation matrix around the Y axis. More... | |
static Matrix | CreateRotateZ (Radian angle) |
Creates a rotation matrix around the given axis. More... | |
static Matrix | CreateScale (float x, float y, float z) |
Creates a scale matrix. More... | |
static Matrix | CreateTranslate (float x, float y, float z) |
Creates a translation matrix. More... | |
static Matrix | CreateTranslate (Vector3 translation) |
Creates a translation matrix. More... | |
static Matrix | Frustum (double left, double right, double bottom, double top, double near, double far) |
static Matrix | GetCamera (const ::Camera &camera) |
static Matrix | GetCamera (const ::Camera2D &camera) |
static Matrix | Identity () |
Creates an identity matrix. More... | |
static Matrix | LookAt (Vector3 eye, Vector3 target, Vector3 up) |
static Matrix | Ortho (double left, double right, double bottom, double top, double near, double far) |
static Matrix | Perspective (double fovy, double aspect, double near, double far) |
Static Public Attributes | |
static constexpr GlobalSpace_t | GlobalSpace {} |
static constexpr LocalSpace_t | LocalSpace {} |
Protected Member Functions | |
void | set (const ::Matrix &mat) |
Matrix type (OpenGL style 4x4 - right handed, column major)
Definition at line 18 of file Matrix.hpp.
|
inline |
Definition at line 25 of file Matrix.hpp.
|
inline |
Definition at line 33 of file Matrix.hpp.
|
inline |
Elementwise matrix addition.
Definition at line 136 of file Matrix.hpp.
|
inlinestatic |
Creates a rotation matrix around the given quaternion.
Definition at line 263 of file Matrix.hpp.
References CreateRotate().
Creates a rotation matrix around the given axis.
Definition at line 234 of file Matrix.hpp.
Referenced by CreateRotate(), and Rotate().
Creates a rotation matrix around the X axis.
Definition at line 351 of file Matrix.hpp.
Referenced by RotateX().
Creates a rotation matrix using the provided euler angles.
Definition at line 322 of file Matrix.hpp.
References CreateRotateXYZ().
Creates a rotation matrix using the provided euler angles.
Definition at line 293 of file Matrix.hpp.
Referenced by CreateRotateXYZ(), and RotateXYZ().
Creates a rotation matrix around the Y axis.
Definition at line 380 of file Matrix.hpp.
Referenced by RotateY().
Creates a rotation matrix around the given axis.
Definition at line 409 of file Matrix.hpp.
Referenced by RotateZ().
|
inlinestatic |
|
inlinestatic |
Creates a translation matrix.
Definition at line 178 of file Matrix.hpp.
Referenced by Translate(), and TranslateToOrigin().
Creates a translation matrix.
Definition at line 206 of file Matrix.hpp.
|
inlinestatic |
Definition at line 473 of file Matrix.hpp.
|
inlinestatic |
Definition at line 507 of file Matrix.hpp.
|
inlinestatic |
Definition at line 511 of file Matrix.hpp.
|
inline |
Retrieves the m0 value for the object.
Definition at line 46 of file Matrix.hpp.
|
inline |
Retrieves the m1 value for the object.
Definition at line 47 of file Matrix.hpp.
|
inline |
Retrieves the m10 value for the object.
Definition at line 56 of file Matrix.hpp.
|
inline |
Retrieves the m11 value for the object.
Definition at line 57 of file Matrix.hpp.
|
inline |
Retrieves the m12 value for the object.
Definition at line 58 of file Matrix.hpp.
|
inline |
Retrieves the m13 value for the object.
Definition at line 59 of file Matrix.hpp.
|
inline |
Retrieves the m14 value for the object.
Definition at line 60 of file Matrix.hpp.
|
inline |
Retrieves the m15 value for the object.
Definition at line 61 of file Matrix.hpp.
|
inline |
Retrieves the m2 value for the object.
Definition at line 48 of file Matrix.hpp.
|
inline |
Retrieves the m3 value for the object.
Definition at line 49 of file Matrix.hpp.
|
inline |
Retrieves the m4 value for the object.
Definition at line 50 of file Matrix.hpp.
|
inline |
Retrieves the m5 value for the object.
Definition at line 51 of file Matrix.hpp.
|
inline |
Retrieves the m6 value for the object.
Definition at line 52 of file Matrix.hpp.
|
inline |
Retrieves the m7 value for the object.
Definition at line 53 of file Matrix.hpp.
|
inline |
Retrieves the m8 value for the object.
Definition at line 54 of file Matrix.hpp.
|
inline |
Retrieves the m9 value for the object.
Definition at line 55 of file Matrix.hpp.
|
inlinestatic |
Creates an identity matrix.
Definition at line 121 of file Matrix.hpp.
|
inline |
Inverts provided matrix.
Definition at line 114 of file Matrix.hpp.
Referenced by Rotate(), RotateX(), RotateXYZ(), RotateY(), RotateZ(), and Scale().
Definition at line 487 of file Matrix.hpp.
|
inline |
Matrix multiplication.
Definition at line 164 of file Matrix.hpp.
|
inline |
Definition at line 495 of file Matrix.hpp.
|
inline |
Definition at line 92 of file Matrix.hpp.
|
inline |
Matrix multiplication.
Definition at line 171 of file Matrix.hpp.
|
inline |
Elementwise matrix addition.
Definition at line 143 of file Matrix.hpp.
|
inline |
Elementwise matrix subtraction.
Definition at line 157 of file Matrix.hpp.
|
inline |
Definition at line 63 of file Matrix.hpp.
Definition at line 68 of file Matrix.hpp.
|
inline |
Definition at line 73 of file Matrix.hpp.
|
inlinestatic |
Definition at line 482 of file Matrix.hpp.
|
inlinestatic |
Definition at line 478 of file Matrix.hpp.
|
inline |
Rotates the current matrix in global space around the given quaternion.
Definition at line 271 of file Matrix.hpp.
References CreateRotate().
Rotates the current matrix in global space around the given axis.
Definition at line 241 of file Matrix.hpp.
References CreateRotate().
Referenced by Rotate().
|
inline |
Rotates the current matrix in local space around the given quaternion.
Definition at line 278 of file Matrix.hpp.
References CreateRotate(), Invert(), and TranslateToOrigin().
Rotates the current matrix in local space around the given axis.
Definition at line 248 of file Matrix.hpp.
References CreateRotate(), Invert(), and TranslateToOrigin().
|
inline |
Rotates the current matrix in local space around the given quaternion.
Definition at line 286 of file Matrix.hpp.
References Rotate().
Rotates the current matrix in local space around the given axis.
Definition at line 256 of file Matrix.hpp.
References Rotate().
Rotates the current matrix in global space around the X axis.
Definition at line 358 of file Matrix.hpp.
References CreateRotateX().
Referenced by RotateX().
Rotates the current matrix in local space around the X axis.
Definition at line 365 of file Matrix.hpp.
References CreateRotateX(), Invert(), and TranslateToOrigin().
Rotates the current matrix in local space around the X axis.
Definition at line 373 of file Matrix.hpp.
References RotateX().
Rotates the current matrix using the provided euler angles in global space.
Definition at line 329 of file Matrix.hpp.
References CreateRotateXYZ().
Rotates the current matrix using the provided euler angles in global space.
Definition at line 300 of file Matrix.hpp.
References CreateRotateXYZ().
Referenced by RotateXYZ().
Rotates the current matrix using the provided euler angles in local space.
Definition at line 336 of file Matrix.hpp.
References CreateRotateXYZ(), Invert(), and TranslateToOrigin().
Rotates the current matrix using the provided euler angles in local space.
Definition at line 307 of file Matrix.hpp.
References CreateRotateXYZ(), Invert(), and TranslateToOrigin().
Rotates the current matrix using the provided euler angles in local space.
Definition at line 344 of file Matrix.hpp.
References RotateXYZ().
Rotates the current matrix using the provided euler angles in local space.
Definition at line 315 of file Matrix.hpp.
References RotateXYZ().
Rotates the current matrix in global space around the Y axis.
Definition at line 387 of file Matrix.hpp.
References CreateRotateY().
Referenced by RotateY().
Rotates the current matrix in local space around the Y axis.
Definition at line 394 of file Matrix.hpp.
References CreateRotateY(), Invert(), and TranslateToOrigin().
Rotates the current matrix in local space around the Y axis.
Definition at line 402 of file Matrix.hpp.
References RotateY().
Rotates the current matrix in global space around the Z axis.
Definition at line 416 of file Matrix.hpp.
References CreateRotateZ().
Referenced by RotateZ().
Rotates the current matrix in local space around the Z axis.
Definition at line 423 of file Matrix.hpp.
References CreateRotateZ(), Invert(), and TranslateToOrigin().
Rotates the current matrix in local space around the Z axis.
Definition at line 431 of file Matrix.hpp.
References RotateZ().
|
inline |
Definition at line 469 of file Matrix.hpp.
|
inline |
Scales the current matrix in local space.
Definition at line 466 of file Matrix.hpp.
References Scale().
|
inline |
Definition at line 448 of file Matrix.hpp.
|
inline |
Scales the current matrix in global space.
Definition at line 445 of file Matrix.hpp.
References CreateScale().
Referenced by Scale().
|
inline |
Definition at line 459 of file Matrix.hpp.
|
inline |
Scales the current matrix in local space.
Definition at line 455 of file Matrix.hpp.
References CreateScale(), Invert(), and TranslateToOrigin().
|
inlineprotected |
Definition at line 518 of file Matrix.hpp.
|
inline |
Sets the m0 value for the object.
value | The value of which to set m0 to. |
Definition at line 46 of file Matrix.hpp.
|
inline |
Sets the m1 value for the object.
value | The value of which to set m1 to. |
Definition at line 47 of file Matrix.hpp.
|
inline |
Sets the m10 value for the object.
value | The value of which to set m10 to. |
Definition at line 56 of file Matrix.hpp.
|
inline |
Sets the m11 value for the object.
value | The value of which to set m11 to. |
Definition at line 57 of file Matrix.hpp.
|
inline |
Sets the m12 value for the object.
value | The value of which to set m12 to. |
Definition at line 58 of file Matrix.hpp.
|
inline |
Sets the m13 value for the object.
value | The value of which to set m13 to. |
Definition at line 59 of file Matrix.hpp.
|
inline |
Sets the m14 value for the object.
value | The value of which to set m14 to. |
Definition at line 60 of file Matrix.hpp.
|
inline |
Sets the m15 value for the object.
value | The value of which to set m15 to. |
Definition at line 61 of file Matrix.hpp.
|
inline |
Sets the m2 value for the object.
value | The value of which to set m2 to. |
Definition at line 48 of file Matrix.hpp.
|
inline |
Sets the m3 value for the object.
value | The value of which to set m3 to. |
Definition at line 49 of file Matrix.hpp.
|
inline |
Sets the m4 value for the object.
value | The value of which to set m4 to. |
Definition at line 50 of file Matrix.hpp.
|
inline |
Sets the m5 value for the object.
value | The value of which to set m5 to. |
Definition at line 51 of file Matrix.hpp.
|
inline |
Sets the m6 value for the object.
value | The value of which to set m6 to. |
Definition at line 52 of file Matrix.hpp.
|
inline |
Sets the m7 value for the object.
value | The value of which to set m7 to. |
Definition at line 53 of file Matrix.hpp.
|
inline |
Sets the m8 value for the object.
value | The value of which to set m8 to. |
Definition at line 54 of file Matrix.hpp.
|
inline |
Sets the m9 value for the object.
value | The value of which to set m9 to. |
Definition at line 55 of file Matrix.hpp.
|
inline |
Set shader uniform value (matrix 4x4)
Definition at line 502 of file Matrix.hpp.
|
inline |
Elementwise matrix subtraction.
Definition at line 150 of file Matrix.hpp.
|
inline |
Definition at line 491 of file Matrix.hpp.
|
inline |
Returns the trace of the matrix (sum of the values along the diagonal)
Definition at line 100 of file Matrix.hpp.
|
inline |
Translates the current matrix in global space.
Definition at line 199 of file Matrix.hpp.
References Translate().
|
inline |
Translates the current matrix in global space.
Definition at line 185 of file Matrix.hpp.
References CreateTranslate().
Referenced by Translate().
Translates the current matrix in global space.
Definition at line 213 of file Matrix.hpp.
References CreateTranslate().
|
inline |
Translates the current matrix in local space.
Definition at line 192 of file Matrix.hpp.
References CreateTranslate().
Translates the current matrix in local space.
Definition at line 220 of file Matrix.hpp.
References CreateTranslate().
Translates the current matrix in global space.
Definition at line 227 of file Matrix.hpp.
References Translate().
|
inline |
Creates a matrix that when multiplied by the current matrix will translate back to the origin (New function not provided by raylib)
Definition at line 129 of file Matrix.hpp.
References CreateTranslate().
Referenced by Rotate(), RotateX(), RotateXYZ(), RotateY(), RotateZ(), and Scale().
|
inline |
Transposes provided matrix.
Definition at line 107 of file Matrix.hpp.
|
staticconstexpr |
Definition at line 23 of file Matrix.hpp.
|
staticconstexpr |
Definition at line 21 of file Matrix.hpp.