SA_Maths
Sapphire Suite's C++ Maths Library
Loading...
Searching...
No Matches
Classes | Typedefs | Functions
Matrix4.hpp File Reference

Matrix 4x4 type implementation. More...

#include <limits>
#include <SA/Maths/Debug.hpp>
#include <SA/Maths/Config.hpp>
#include <SA/Maths/Matrix/Matrix4Base.hpp>
#include <SA/Maths/Algorithms/Lerp.hpp>
#include <SA/Maths/Algorithms/Equals.hpp>
#include <SA/Maths/Matrix/Matrix4.inl>

Go to the source code of this file.

Classes

struct  SA::Mat4< T, major >
 Matrix 4x4 Sapphire-Maths class. More...
 

Typedefs

using SA::Mat4i = Mat4<int32_t>
 Alias for int32 Mat4.
 
using SA::Mat4f = Mat4<float>
 Alias for float Mat4.
 
using SA::Mat4d = Mat4<double>
 Alias for double Mat4.
 
template<typename T , MatrixMajor major = MatrixMajor::Default>
using SA::Matrix4 = Mat4<T>
 Template alias of Mat4.
 
using SA::Matrix4i = Matrix4<int32_t>
 Alias for int32 Matrix4.
 
using SA::Matrix4f = Matrix4<float>
 Alias for float Matrix4.
 
using SA::Matrix4d = Matrix4<double>
 Alias for double Matrix4.
 
using SA::RMat4i = Mat4<int32_t, MatrixMajor::Row>
 Alias for row major int32 Mat4.
 
using SA::RMat4f = Mat4<float, MatrixMajor::Row>
 Alias for row major float Mat4.
 
using SA::RMat4d = Mat4<double, MatrixMajor::Row>
 Alias for row major double Mat4.
 
using SA::CMat4i = Mat4<int32_t, MatrixMajor::Column>
 Alias for column major int32 Mat4.
 
using SA::CMat4f = Mat4<float, MatrixMajor::Column>
 Alias for column major float Mat4.
 
using SA::CMat4d = Mat4<double, MatrixMajor::Column>
 Alias for column major double Mat4.
 

Functions

template<typename TIn , typename T , MatrixMajor major>
Mat4< T, major > SA::operator* (TIn _lhs, const Mat4< T, major > &_rhs) noexcept
 Scale each matrix components by _lhs.
 
template<typename TIn , typename T , MatrixMajor major>
Mat4< T, major > SA::operator/ (TIn _lhs, const Mat4< T, major > &_rhs)
  Inverse Scale each matrix components by _lhs.
 

Detailed Description

Matrix 4x4 type implementation.

Function Documentation

◆ operator*()

template<typename TIn , typename T , MatrixMajor major>
Mat4< T, major > SA::operator* ( TIn _lhs,
const Mat4< T, major > & _rhs )
noexcept

Scale each matrix components by _lhs.

Template Parameters
TInType of the input scale.
Parameters
[in]_lhsScale value to apply on all components.
[in]_rhsMatrix to scale.
Returns
new matrix scaled.

◆ operator/()

template<typename TIn , typename T , MatrixMajor major>
Mat4< T, major > SA::operator/ ( TIn _lhs,
const Mat4< T, major > & _rhs )

Inverse Scale each matrix components by _lhs.

Template Parameters
TInType of the input scale.
Parameters
[in]_lhsInverse scale value to apply on all components.
[in]_rhsMatrix to scale.
Returns
new matrix inverse-scaled.