MeshLib
 
Loading...
Searching...
No Matches
MR::SymMatrix2< T > Struct Template Reference

#include <MRSymMatrix2.h>

Public Types

using ValueType = T
 

Public Member Functions

constexpr SymMatrix2 () noexcept=default
 
template<typename U >
constexpr SymMatrix2 (const SymMatrix2< U > &m)
 
constexpr T trace () const noexcept
 computes trace of the matrix
 
constexpr T normSq () const noexcept
 computes the squared norm of the matrix, which is equal to the sum of 4 squared elements
 
constexpr T det () const noexcept
 computes determinant of the matrix
 
constexpr SymMatrix2< T > inverse () const noexcept
 computes inverse matrix
 
constexpr SymMatrix2< T > inverse (T det) const noexcept
 computes inverse matrix given determinant of this
 
SymMatrix2operator+= (const SymMatrix2< T > &b)
 
SymMatrix2operator-= (const SymMatrix2< T > &b)
 
SymMatrix2operator*= (T b)
 
SymMatrix2operator/= (T b)
 

Static Public Member Functions

static constexpr SymMatrix2 identity () noexcept
 
static constexpr SymMatrix2 diagonal (T diagVal) noexcept
 

Public Attributes

xx = 0
 zero matrix by default
 
xy = 0
 
yy = 0
 

Related Symbols

(Note that these are not member symbols.)

template<typename T >
Vector2< T > operator* (const SymMatrix2< T > &a, const Vector2< T > &b)
 x = a * b
 
template<typename T >
SymMatrix2< T > outerSquare (const Vector2< T > &a)
 x = a * a^T
 
template<typename T >
SymMatrix2< T > outerSquare (T k, const Vector2< T > &a)
 x = k * a * a^T
 

Detailed Description

template<typename T>
struct MR::SymMatrix2< T >

symmetric 2x2 matrix

Member Typedef Documentation

◆ ValueType

template<typename T >
using MR::SymMatrix2< T >::ValueType = T

Constructor & Destructor Documentation

◆ SymMatrix2() [1/2]

template<typename T >
MR::SymMatrix2< T >::SymMatrix2 ( )
constexprdefaultnoexcept

◆ SymMatrix2() [2/2]

template<typename T >
template<typename U >
MR::SymMatrix2< T >::SymMatrix2 ( const SymMatrix2< U > & m)
inlineexplicitconstexpr

Member Function Documentation

◆ det()

template<typename T >
T MR::SymMatrix2< T >::det ( ) const
constexprnoexcept

computes determinant of the matrix

◆ diagonal()

template<typename T >
static constexpr SymMatrix2 MR::SymMatrix2< T >::diagonal ( T diagVal)
inlinestaticconstexprnoexcept

◆ identity()

template<typename T >
static constexpr SymMatrix2 MR::SymMatrix2< T >::identity ( )
inlinestaticconstexprnoexcept

◆ inverse() [1/2]

template<typename T >
SymMatrix2< T > MR::SymMatrix2< T >::inverse ( ) const
inlineconstexprnoexcept

computes inverse matrix

◆ inverse() [2/2]

template<typename T >
SymMatrix2< T > MR::SymMatrix2< T >::inverse ( T det) const
constexprnoexcept

computes inverse matrix given determinant of this

◆ normSq()

template<typename T >
T MR::SymMatrix2< T >::normSq ( ) const
inlineconstexprnoexcept

computes the squared norm of the matrix, which is equal to the sum of 4 squared elements

◆ operator*=()

template<typename T >
SymMatrix2 & MR::SymMatrix2< T >::operator*= ( T b)
inline

◆ operator+=()

template<typename T >
SymMatrix2 & MR::SymMatrix2< T >::operator+= ( const SymMatrix2< T > & b)
inline

◆ operator-=()

template<typename T >
SymMatrix2 & MR::SymMatrix2< T >::operator-= ( const SymMatrix2< T > & b)
inline

◆ operator/=()

template<typename T >
SymMatrix2 & MR::SymMatrix2< T >::operator/= ( T b)
inline

◆ trace()

template<typename T >
T MR::SymMatrix2< T >::trace ( ) const
inlineconstexprnoexcept

computes trace of the matrix

Friends And Related Symbol Documentation

◆ operator*()

template<typename T >
Vector2< T > operator* ( const SymMatrix2< T > & a,
const Vector2< T > & b )
related

x = a * b

◆ outerSquare() [1/2]

template<typename T >
SymMatrix2< T > outerSquare ( const Vector2< T > & a)
related

x = a * a^T

◆ outerSquare() [2/2]

template<typename T >
SymMatrix2< T > outerSquare ( T k,
const Vector2< T > & a )
related

x = k * a * a^T

Member Data Documentation

◆ xx

template<typename T >
T MR::SymMatrix2< T >::xx = 0

zero matrix by default

◆ xy

template<typename T >
T MR::SymMatrix2< T >::xy = 0

◆ yy

template<typename T >
T MR::SymMatrix2< T >::yy = 0

The documentation for this struct was generated from the following file: