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

Matrix 3x3 type implementation. More...

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

Go to the source code of this file.

Classes

struct  SA::Mat3< T, major >
 Matrix 3x3 Sapphire-Maths class. More...
 

Typedefs

using SA::Mat3i = Mat3<int32_t>
 Alias for int32 Mat3.
 
using SA::Mat3f = Mat3<float>
 Alias for float Mat3.
 
using SA::Mat3d = Mat3<double>
 Alias for double Mat3.
 
template<typename T , MatrixMajor major = MatrixMajor::Default>
using SA::Matrix3 = Mat3<T, major>
 Template alias of Mat3.
 
using SA::Matrix3i = Matrix3<int32_t>
 Alias for int32 Matrix3.
 
using SA::Matrix3f = Matrix3<float>
 Alias for float Matrix3.
 
using SA::Matrix3d = Matrix3<double>
 Alias for double Matrix3.
 
using SA::RMat3i = Mat3<int32_t, MatrixMajor::Row>
 Alias for row major int32 Mat3.
 
using SA::RMat3f = Mat3<float, MatrixMajor::Row>
 Alias for row major float Mat3.
 
using SA::RMat3d = Mat3<double, MatrixMajor::Row>
 Alias for row major double Mat3.
 
using SA::CMat3i = Mat3<int32_t, MatrixMajor::Column>
 Alias for column major int32 Mat3.
 
using SA::CMat3f = Mat3<float, MatrixMajor::Column>
 Alias for column major float Mat3.
 
using SA::CMat3d = Mat3<double, MatrixMajor::Column>
 Alias for column major double Mat3.
 

Functions

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

Detailed Description

Matrix 3x3 type implementation.

Function Documentation

◆ operator*()

template<typename TIn , typename T , MatrixMajor major>
Mat3< T, major > SA::operator* ( TIn _lhs,
const Mat3< 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>
Mat3< T, major > SA::operator/ ( TIn _lhs,
const Mat3< 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.