|
ATOMSMATH_HOSTDEVICE T * | operator[] (int i) noexcept |
| Row access.
|
|
ATOMSMATH_HOSTDEVICE const T * | operator[] (int i) const noexcept |
| Row access.
|
|
template<class S > |
ATOMSMATH_CONSTEXPR14 | Matrix44 (const Matrix44< S > &v) noexcept |
|
template<class S > |
void | getValue (Matrix44< S > &v) const noexcept |
|
template<class S > |
ATOMSMATH_CONSTEXPR14 Matrix44< T > & | setValue (const Matrix44< S > &v) noexcept |
|
template<class S > |
ATOMSMATH_CONSTEXPR14 Matrix44< T > & | setTheMatrix (const Matrix44< S > &v) noexcept |
|
template<class S > |
void | multVecMatrix (const Vec3< S > &src, Vec3< S > &dst) const noexcept |
|
template<class S > |
void | multDirMatrix (const Vec3< S > &src, Vec3< S > &dst) const noexcept |
|
template<class S > |
const Matrix44< T > & | setEulerAngles (const Vec3< S > &r) noexcept |
|
template<class S > |
ATOMSMATH_CONSTEXPR14 const Matrix44< T > & | setAxisAngle (const Vec3< S > &axis, S angle) noexcept |
|
template<class S > |
const Matrix44< T > & | rotate (const Vec3< S > &r) noexcept |
|
template<class S > |
ATOMSMATH_CONSTEXPR14 const Matrix44< T > & | setScale (const Vec3< S > &s) noexcept |
|
template<class S > |
ATOMSMATH_CONSTEXPR14 const Matrix44< T > & | scale (const Vec3< S > &s) noexcept |
|
template<class S > |
ATOMSMATH_CONSTEXPR14 const Matrix44< T > & | setTranslation (const Vec3< S > &t) noexcept |
|
template<class S > |
ATOMSMATH_CONSTEXPR14 const Matrix44< T > & | translate (const Vec3< S > &t) noexcept |
|
template<class S > |
ATOMSMATH_CONSTEXPR14 const Matrix44< T > & | setShear (const Vec3< S > &h) noexcept |
|
template<class S > |
ATOMSMATH_CONSTEXPR14 const Matrix44< T > & | setShear (const Shear6< S > &h) noexcept |
|
template<class S > |
ATOMSMATH_CONSTEXPR14 const Matrix44< T > & | shear (const Vec3< S > &h) noexcept |
|
template<class S > |
ATOMSMATH_CONSTEXPR14 const Matrix44< T > & | shear (const Shear6< S > &h) noexcept |
|
|
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 | Matrix44 () noexcept |
| Uninitialized. More...
|
|
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 | Matrix44 (T a) noexcept |
|
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 | Matrix44 (const T a[4][4]) noexcept |
|
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 | Matrix44 (T a, T b, T c, T d, T e, T f, T g, T h, T i, T j, T k, T l, T m, T n, T o, T p) noexcept |
|
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 | Matrix44 (Matrix33< T > r, Vec3< T > t) noexcept |
|
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 | Matrix44 (const Matrix44 &v) noexcept |
| Copy constructor.
|
|
template<class S > |
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 | Matrix44 (const Matrix44< S > &v) noexcept |
| Construct from Matrix44 of another base type.
|
|
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 const Matrix44 & | operator= (const Matrix44 &v) noexcept |
| Assignment operator.
|
|
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 const Matrix44 & | operator= (T a) noexcept |
| Assignment from scalar.
|
|
| ~Matrix44 () noexcept=default |
| Destructor.
|
|
|
ATOMSMATH_HOSTDEVICE T * | getValue () noexcept |
| Return a raw pointer to the array of values.
|
|
ATOMSMATH_HOSTDEVICE const T * | getValue () const noexcept |
| Return a raw pointer to the array of values.
|
|
template<class S > |
ATOMSMATH_HOSTDEVICE void | getValue (Matrix44< S > &v) const noexcept |
| Return the value in v
|
|
template<class S > |
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 Matrix44 & | setValue (const Matrix44< S > &v) noexcept |
| Set the value.
|
|
template<class S > |
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 Matrix44 & | setTheMatrix (const Matrix44< S > &v) noexcept |
| Set the value.
|
|
|
ATOMSMATH_HOSTDEVICE void | makeIdentity () noexcept |
| Set to the identity matrix.
|
|
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 const Matrix44 & | transpose () noexcept |
| Transpose.
|
|
constexpr ATOMSMATH_HOSTDEVICE Matrix44 | transposed () const noexcept |
| Return the transpose.
|
|
ATOMSMATH_CONSTEXPR14 const Matrix44 & | invert (bool singExc) |
|
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 const Matrix44 & | invert () noexcept |
|
ATOMSMATH_CONSTEXPR14 Matrix44< T > | inverse (bool singExc) const |
|
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 Matrix44< T > | inverse () const noexcept |
| Return the inverse using the determinant, leaving this unmodified.
|
|
ATOMSMATH_CONSTEXPR14 const Matrix44 & | gjInvert (bool singExc) |
|
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 const Matrix44 & | gjInvert () noexcept |
|
Matrix44< T > | gjInverse (bool singExc) const |
|
ATOMSMATH_HOSTDEVICE Matrix44< T > | gjInverse () const noexcept |
|
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 T | minorOf (const int r, const int c) const noexcept |
| Calculate the matrix minor of the (r,c) element.
|
|
constexpr ATOMSMATH_HOSTDEVICE T | fastMinor (const int r0, const int r1, const int r2, const int c0, const int c1, const int c2) const noexcept |
| Build a minor using the specified rows and columns.
|
|
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 T | determinant () const noexcept |
| Determinant.
|
|
template<class S > |
ATOMSMATH_HOSTDEVICE const Matrix44 & | setEulerAngles (const Vec3< S > &r) noexcept |
|
template<class S > |
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 const Matrix44 & | setAxisAngle (const Vec3< S > &ax, S ang) noexcept |
|
template<class S > |
ATOMSMATH_HOSTDEVICE const Matrix44 & | rotate (const Vec3< S > &r) noexcept |
|
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 const Matrix44 & | setScale (T s) noexcept |
|
template<class S > |
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 const Matrix44 & | setScale (const Vec3< S > &s) noexcept |
|
template<class S > |
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 const Matrix44 & | scale (const Vec3< S > &s) noexcept |
|
template<class S > |
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 const Matrix44 & | setTranslation (const Vec3< S > &t) noexcept |
|
constexpr ATOMSMATH_HOSTDEVICE const Vec3< T > | translation () const noexcept |
| Return translation component.
|
|
template<class S > |
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 const Matrix44 & | translate (const Vec3< S > &t) noexcept |
|
template<class S > |
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 const Matrix44 & | setShear (const Vec3< S > &h) noexcept |
|
template<class S > |
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 const Matrix44 & | setShear (const Shear6< S > &h) noexcept |
|
template<class S > |
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 const Matrix44 & | shear (const Vec3< S > &h) noexcept |
|
template<class S > |
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 const Matrix44 & | shear (const Shear6< S > &h) noexcept |
|
|
constexpr ATOMSMATH_HOSTDEVICE bool | operator== (const Matrix44 &v) const noexcept |
| Equality.
|
|
constexpr ATOMSMATH_HOSTDEVICE bool | operator!= (const Matrix44 &v) const noexcept |
| Inequality.
|
|
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 bool | equalWithAbsError (const Matrix44< T > &v, T e) const noexcept |
|
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 bool | equalWithRelError (const Matrix44< T > &v, T e) const noexcept |
|
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 const Matrix44 & | operator+= (const Matrix44 &v) noexcept |
| Component-wise addition.
|
|
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 const Matrix44 & | operator+= (T a) noexcept |
| Component-wise addition.
|
|
constexpr ATOMSMATH_HOSTDEVICE Matrix44 | operator+ (const Matrix44 &v) const noexcept |
| Component-wise addition.
|
|
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 const Matrix44 & | operator-= (const Matrix44 &v) noexcept |
| Component-wise subtraction.
|
|
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 const Matrix44 & | operator-= (T a) noexcept |
| Component-wise subtraction.
|
|
constexpr ATOMSMATH_HOSTDEVICE Matrix44 | operator- (const Matrix44 &v) const noexcept |
| Component-wise subtraction.
|
|
constexpr ATOMSMATH_HOSTDEVICE Matrix44 | operator- () const noexcept |
| Component-wise multiplication by -1.
|
|
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 const Matrix44 & | negate () noexcept |
| Component-wise multiplication by -1.
|
|
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 const Matrix44 & | operator*= (T a) noexcept |
| Component-wise multiplication.
|
|
constexpr ATOMSMATH_HOSTDEVICE Matrix44 | operator* (T a) const noexcept |
| Component-wise multiplication.
|
|
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 const Matrix44 & | operator/= (T a) noexcept |
| Component-wise division.
|
|
constexpr ATOMSMATH_HOSTDEVICE Matrix44 | operator/ (T a) const noexcept |
| Component-wise division.
|
|
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 const Matrix44 & | operator*= (const Matrix44 &v) noexcept |
| Matrix-matrix multiplication.
|
|
ATOMSMATH_HOSTDEVICE ATOMSMATH_CONSTEXPR14 Matrix44 | operator* (const Matrix44 &v) const noexcept |
| Matrix-matrix multiplication.
|
|
template<class S > |
ATOMSMATH_HOSTDEVICE void | multVecMatrix (const Vec3< S > &src, Vec3< S > &dst) const noexcept |
|
template<class S > |
ATOMSMATH_HOSTDEVICE void | multDirMatrix (const Vec3< S > &src, Vec3< S > &dst) const noexcept |
|
static ATOMSMATH_HOSTDEVICE void | multiply (const Matrix44 &a, const Matrix44 &b, Matrix44 &c) noexcept |
| Matrix-matrix multiplication: compute c = a * b.
|
|
template<class T>
class Matrix44< T >
4x4 transformation matrix