![]() |
Divide Framework 0.1
A free and open-source 3D Framework under heavy development
|
#include <MathMatrices.h>
Public Member Functions | |
mat3 () noexcept | |
template<typename U > | |
mat3 (U m) noexcept | |
template<typename U > | |
mat3 (U m0, U m1, U m2, U m3, U m4, U m5, U m6, U m7, U m8) noexcept | |
template<typename U > | |
mat3 (const U *values) noexcept | |
template<typename U > | |
mat3 (const mat2< U > &B, bool zeroFill) noexcept | |
mat3 (const mat3 &B) noexcept | |
template<typename U > | |
mat3 (const mat3< U > &B) noexcept | |
template<typename U > | |
mat3 (const mat4< U > &B) noexcept | |
template<typename U > | |
mat3 (const vec3< U > &scale) noexcept | |
template<typename U > | |
mat3 (const vec3< U > &rotStart, const vec3< U > &rotEnd) noexcept | |
template<typename U > | |
vec2< U > | operator* (const vec2< U > v) const noexcept |
template<typename U > | |
vec3< U > | operator* (const vec3< U > &v) const noexcept |
template<typename U > | |
vec4< U > | operator* (const vec4< U > &v) const noexcept |
template<typename U > | |
mat3 | operator* (const mat3< U > &B) const noexcept |
template<typename U > | |
mat3 | operator/ (const mat3< U > &B) const noexcept |
template<typename U > | |
mat3 | operator+ (const mat3< U > &B) const noexcept |
template<typename U > | |
mat3 | operator- (const mat3< U > &B) const noexcept |
template<typename U > | |
mat3 & | operator*= (const mat3< U > &B) noexcept |
template<typename U > | |
mat3 & | operator/= (const mat3< U > &B) noexcept |
template<typename U > | |
mat3 & | operator+= (const mat3< U > &B) noexcept |
template<typename U > | |
mat3 & | operator-= (const mat3< U > &B) noexcept |
template<typename U > | |
mat3 | operator* (U f) const noexcept |
template<typename U > | |
mat3 | operator/ (U f) const noexcept |
template<typename U > | |
mat3 | operator+ (U f) const noexcept |
template<typename U > | |
mat3 | operator- (U f) const noexcept |
template<typename U > | |
mat3 & | operator*= (U f) noexcept |
template<typename U > | |
mat3 & | operator/= (U f) noexcept |
template<typename U > | |
mat3 & | operator+= (U f) noexcept |
template<typename U > | |
mat3 & | operator-= (U f) noexcept |
bool | operator== (const mat3 &B) const noexcept |
bool | operator!= (const mat3 &B) const noexcept |
template<typename U > | |
bool | operator== (const mat3< U > &B) const noexcept |
template<typename U > | |
bool | operator!= (const mat3< U > &B) const noexcept |
bool | compare (const mat3 &B, F32 epsilon) const noexcept |
template<typename U > | |
bool | compare (const mat3< U > &B, F32 epsilon) const noexcept |
operator T* () noexcept | |
operator const T * () const noexcept | |
T & | operator[] (I32 i) noexcept |
T | operator[] (I32 i) const noexcept |
T & | element (U8 row, U8 column) noexcept |
const T & | element (U8 row, U8 column) const noexcept |
template<typename U > | |
void | set (U m0, U m1, U m2, U m3, U m4, U m5, U m6, U m7, U m8) noexcept |
template<typename U > | |
void | set (const U *matrix) noexcept |
template<typename U > | |
void | set (const mat2< U > &matrix) noexcept |
template<typename U > | |
void | set (const mat3< U > &matrix) noexcept |
template<typename U > | |
void | set (const mat4< U > &matrix) noexcept |
template<typename U > | |
void | setRow (I32 index, U value) noexcept |
template<typename U > | |
void | setRow (I32 index, const vec3< U > &value) noexcept |
template<typename U > | |
void | setRow (I32 index, U x, U y, U z) noexcept |
const vec3< T > & | getRow (I32 index) const noexcept |
template<typename U > | |
void | setCol (I32 index, const vec3< U > &value) noexcept |
template<typename U > | |
void | setCol (I32 index, U value) noexcept |
template<typename U > | |
void | setCol (I32 index, U x, U y, U z) noexcept |
vec3< T > | getCol (I32 index) const noexcept |
void | zero () noexcept |
void | identity () noexcept |
bool | isIdentity () const noexcept |
bool | isUniformScale (F32 tolerance=0.0001f) const noexcept |
bool | isColOrthogonal () const noexcept |
void | swap (mat3 &B) noexcept |
T | det () const noexcept |
T | elementSum () const noexcept |
void | inverse () noexcept |
void | transpose () noexcept |
void | inverseTranspose () noexcept |
mat3 | getInverse () const noexcept |
void | getInverse (mat3 &ret) const noexcept |
mat3 | getTranspose () const noexcept |
void | getTranspose (mat3 &ret) const noexcept |
mat3 | getInverseTranspose () const noexcept |
void | getInverseTranspose (mat3 &ret) const noexcept |
template<typename U > | |
void | fromRotation (const vec3< U > &v, Angle::RADIANS< U > angle) |
template<typename U > | |
void | fromRotation (U x, U y, U z, Angle::RADIANS< U > angle) |
template<typename U > | |
void | fromXRotation (Angle::RADIANS< U > angle) |
template<typename U > | |
void | fromYRotation (Angle::RADIANS< U > angle) |
template<typename U > | |
void | fromZRotation (Angle::RADIANS< U > angle) |
template<typename U > | |
void | setScale (U x, U y, U z) noexcept |
template<typename U > | |
void | setScale (const vec3< U > &v) noexcept |
vec3< T > | getScale () const noexcept |
vec3< T > | getScaleSq () const noexcept |
vec3< T > | getRightVec () const noexcept |
Alias for getCol(0) | |
vec3< T > | getUpVec () const noexcept |
Alias for getCol(1) | |
vec3< T > | getForwardVec () const noexcept |
Alias for -getCol(2). Assumes -Z fwd. | |
vec3< T > | getRightDirection () const noexcept |
Returns normalized(getRightVec()) | |
vec3< T > | getUpDirection () const noexcept |
Returns normalized(getUpVec()) | |
vec3< T > | getForwardDirection () const noexcept |
Returns normalized(getForwardVec()) | |
void | orthoNormalize () |
template<typename U > | |
mat3< T > | operator* (const mat3< U > &B) const noexcept |
template<typename U > | |
mat3< T > | operator/ (const mat3< U > &B) const noexcept |
template<typename U > | |
mat3< T > | operator+ (const mat3< U > &B) const noexcept |
template<typename U > | |
mat3< T > | operator- (const mat3< U > &B) const noexcept |
template<typename U > | |
mat3< T > & | operator*= (const mat3< U > &B) noexcept |
template<typename U > | |
mat3< T > & | operator/= (const mat3< U > &B) noexcept |
template<typename U > | |
mat3< T > & | operator+= (const mat3< U > &B) noexcept |
template<typename U > | |
mat3< T > & | operator-= (const mat3< U > &B) noexcept |
template<typename U > | |
mat3< T > | operator* (U f) const noexcept |
template<typename U > | |
mat3< T > | operator/ (U f) const noexcept |
template<typename U > | |
mat3< T > | operator+ (U f) const noexcept |
template<typename U > | |
mat3< T > | operator- (U f) const noexcept |
template<typename U > | |
mat3< T > & | operator*= (U f) noexcept |
template<typename U > | |
mat3< T > & | operator/= (U f) noexcept |
template<typename U > | |
mat3< T > & | operator+= (U f) noexcept |
template<typename U > | |
mat3< T > & | operator-= (U f) noexcept |
Public Attributes | |
union { | |
struct { | |
T _11 | |
T _12 | |
T _13 | |
T _21 | |
T _22 | |
T _23 | |
T _31 | |
T _32 | |
T _33 | |
} | |
T mat [9] | |
T m [3][3] | |
vec3< T > _vec [3] | |
}; | |
Definition at line 268 of file MathMatrices.h.
|
noexcept |
Definition at line 846 of file MathMatrices.inl.
Definition at line 855 of file MathMatrices.inl.
|
explicitnoexcept |
Definition at line 864 of file MathMatrices.inl.
|
explicitnoexcept |
Definition at line 875 of file MathMatrices.inl.
|
explicitnoexcept |
Definition at line 884 of file MathMatrices.inl.
|
noexcept |
Definition at line 892 of file MathMatrices.inl.
|
explicitnoexcept |
Definition at line 899 of file MathMatrices.inl.
|
explicitnoexcept |
Definition at line 906 of file MathMatrices.inl.
|
explicitnoexcept |
Definition at line 932 of file MathMatrices.inl.
|
explicitnoexcept |
Definition at line 916 of file MathMatrices.inl.
|
noexcept |
Definition at line 1156 of file MathMatrices.inl.
|
noexcept |
Definition at line 1171 of file MathMatrices.inl.
|
noexcept |
Definition at line 1394 of file MathMatrices.inl.
|
noexcept |
Definition at line 1215 of file MathMatrices.inl.
|
noexcept |
Definition at line 1209 of file MathMatrices.inl.
|
noexcept |
Definition at line 1405 of file MathMatrices.inl.
void Divide::mat3< T >::fromRotation | ( | const vec3< U > & | v, |
Angle::RADIANS< U > | angle | ||
) |
Definition at line 1496 of file MathMatrices.inl.
void Divide::mat3< T >::fromRotation | ( | U | x, |
U | y, | ||
U | z, | ||
Angle::RADIANS< U > | angle | ||
) |
Definition at line 1503 of file MathMatrices.inl.
void Divide::mat3< T >::fromXRotation | ( | Angle::RADIANS< U > | angle | ) |
Definition at line 1529 of file MathMatrices.inl.
void Divide::mat3< T >::fromYRotation | ( | Angle::RADIANS< U > | angle | ) |
Definition at line 1543 of file MathMatrices.inl.
void Divide::mat3< T >::fromZRotation | ( | Angle::RADIANS< U > | angle | ) |
Definition at line 1558 of file MathMatrices.inl.
|
noexcept |
Definition at line 1326 of file MathMatrices.inl.
|
noexcept |
Returns normalized(getForwardVec())
Definition at line 1640 of file MathMatrices.inl.
|
noexcept |
Alias for -getCol(2). Assumes -Z fwd.
Definition at line 1621 of file MathMatrices.inl.
|
noexcept |
Definition at line 1450 of file MathMatrices.inl.
|
noexcept |
Definition at line 1458 of file MathMatrices.inl.
|
noexcept |
Definition at line 1480 of file MathMatrices.inl.
|
noexcept |
Definition at line 1488 of file MathMatrices.inl.
|
noexcept |
Returns normalized(getRightVec())
Definition at line 1628 of file MathMatrices.inl.
|
noexcept |
Alias for getCol(0)
Definition at line 1609 of file MathMatrices.inl.
|
noexcept |
Definition at line 1293 of file MathMatrices.inl.
|
noexcept |
Definition at line 1589 of file MathMatrices.inl.
|
noexcept |
Definition at line 1599 of file MathMatrices.inl.
|
noexcept |
Definition at line 1465 of file MathMatrices.inl.
|
noexcept |
Definition at line 1473 of file MathMatrices.inl.
|
noexcept |
Returns normalized(getUpVec())
Definition at line 1634 of file MathMatrices.inl.
|
noexcept |
Alias for getCol(1)
Definition at line 1615 of file MathMatrices.inl.
|
noexcept |
Definition at line 1342 of file MathMatrices.inl.
|
noexcept |
Definition at line 1413 of file MathMatrices.inl.
|
noexcept |
Definition at line 1443 of file MathMatrices.inl.
|
noexcept |
Definition at line 1366 of file MathMatrices.inl.
|
noexcept |
Definition at line 1352 of file MathMatrices.inl.
|
noexcept |
Definition at line 1360 of file MathMatrices.inl.
|
noexcept |
Definition at line 1191 of file MathMatrices.inl.
|
noexcept |
Definition at line 1185 of file MathMatrices.inl.
|
noexcept |
Definition at line 1142 of file MathMatrices.inl.
|
noexcept |
Definition at line 1128 of file MathMatrices.inl.
|
noexcept |
|
noexcept |
Definition at line 965 of file MathMatrices.inl.
|
noexcept |
Definition at line 939 of file MathMatrices.inl.
|
noexcept |
Definition at line 946 of file MathMatrices.inl.
|
noexcept |
Definition at line 955 of file MathMatrices.inl.
|
noexcept |
Definition at line 1027 of file MathMatrices.inl.
|
noexcept |
|
noexcept |
Definition at line 999 of file MathMatrices.inl.
|
noexcept |
Definition at line 1055 of file MathMatrices.inl.
|
noexcept |
|
noexcept |
Definition at line 981 of file MathMatrices.inl.
|
noexcept |
Definition at line 1041 of file MathMatrices.inl.
|
noexcept |
|
noexcept |
Definition at line 1013 of file MathMatrices.inl.
|
noexcept |
Definition at line 1077 of file MathMatrices.inl.
|
noexcept |
|
noexcept |
Definition at line 990 of file MathMatrices.inl.
|
noexcept |
Definition at line 1048 of file MathMatrices.inl.
|
noexcept |
|
noexcept |
Definition at line 1020 of file MathMatrices.inl.
|
noexcept |
Definition at line 1088 of file MathMatrices.inl.
|
noexcept |
|
noexcept |
Definition at line 974 of file MathMatrices.inl.
|
noexcept |
Definition at line 1034 of file MathMatrices.inl.
|
noexcept |
|
noexcept |
Definition at line 1006 of file MathMatrices.inl.
|
noexcept |
Definition at line 1066 of file MathMatrices.inl.
|
noexcept |
Definition at line 1098 of file MathMatrices.inl.
|
noexcept |
Definition at line 1113 of file MathMatrices.inl.
|
noexcept |
Definition at line 1203 of file MathMatrices.inl.
|
noexcept |
Definition at line 1197 of file MathMatrices.inl.
void Divide::mat3< T >::orthoNormalize |
Definition at line 1647 of file MathMatrices.inl.
|
noexcept |
Definition at line 1247 of file MathMatrices.inl.
|
noexcept |
Definition at line 1257 of file MathMatrices.inl.
|
noexcept |
Definition at line 1264 of file MathMatrices.inl.
|
noexcept |
Definition at line 1231 of file MathMatrices.inl.
|
noexcept |
Definition at line 1222 of file MathMatrices.inl.
|
noexcept |
Definition at line 1300 of file MathMatrices.inl.
|
noexcept |
Definition at line 1309 of file MathMatrices.inl.
|
noexcept |
Definition at line 1318 of file MathMatrices.inl.
|
noexcept |
Definition at line 1280 of file MathMatrices.inl.
|
noexcept |
Definition at line 1273 of file MathMatrices.inl.
|
noexcept |
Definition at line 1287 of file MathMatrices.inl.
|
noexcept |
Definition at line 1583 of file MathMatrices.inl.
|
noexcept |
Definition at line 1574 of file MathMatrices.inl.
|
noexcept |
Definition at line 1378 of file MathMatrices.inl.
|
noexcept |
Definition at line 1435 of file MathMatrices.inl.
|
noexcept |
Definition at line 1336 of file MathMatrices.inl.
union { ... } Divide::mat3< T >::@5 |
T Divide::mat3< T >::_11 |
Definition at line 449 of file MathMatrices.h.
T Divide::mat3< T >::_12 |
Definition at line 449 of file MathMatrices.h.
T Divide::mat3< T >::_13 |
Definition at line 449 of file MathMatrices.h.
T Divide::mat3< T >::_21 |
Definition at line 450 of file MathMatrices.h.
T Divide::mat3< T >::_22 |
Definition at line 450 of file MathMatrices.h.
T Divide::mat3< T >::_23 |
Definition at line 450 of file MathMatrices.h.
T Divide::mat3< T >::_31 |
Definition at line 451 of file MathMatrices.h.
T Divide::mat3< T >::_32 |
Definition at line 451 of file MathMatrices.h.
T Divide::mat3< T >::_33 |
Definition at line 451 of file MathMatrices.h.
vec3<T> Divide::mat3< T >::_vec[3] |
Definition at line 455 of file MathMatrices.h.
T Divide::mat3< T >::m[3][3] |
Definition at line 454 of file MathMatrices.h.
T Divide::mat3< T >::mat[9] |
Definition at line 453 of file MathMatrices.h.